硬币翻转

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 coinn.in 输出文件 coinn.out

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

【输入格式】
    输入只有一行,包含一个自然数 N ( N 为不大于100 的偶数)。

【输出格式】
    输出文件的第一行包含一个整数 S ,表示最少需要的操作次数。接下来的 S 行每行分别表示每次操作后桌上硬币的状态(一行包含 N 个整数( 0 或 1 ),表示每个硬币的状态: 0 ——正面向上,和 1 ——反面向上,不允许出现多余空格)。
    对于有多种操作方案的情况,则只需输出一种。

【输入输出样例】
 
输入:
coinn.in
4

输出:
coinn.out
4
0111
1100
0001
1111