3928: P1146 硬币翻转

内存限制:125 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:8 解决:6

题目描述

在桌面上有一排硬币,共 N 枚,每一枚硬币均为正面朝上。 现在要把所有的硬币翻转成反面朝上,规则是每次可翻转任意 N-1 枚硬币(正面向上的被翻转为反面向上,反之亦然)。 求一个最短的操作序列(将每次翻转 N-1 枚硬币成为一次操作)。

输入

一个自然数 N(N 为不大于 100 的偶数)

输出

第一行:一个整数 S,表示最少需要的操作次数 接下来 S 行:每行 N 个整数 0 或 1,表示每次操作后桌上硬币的状态 - 0 表示正面向上 - 1 表示反面向上 - 不允许输出多余空格 对于多种操作方案,输出操作的字典序最小的方案。 操作的字典序是指:对于一次操作中的每个位置,1 表示翻转,0 表示不反转。

样例输入 复制

4

样例输出 复制

4
0111
1100
0001
1111