[IOI1998]灯光

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 partya.in 输出文件 partya.out
在庆祝晚晚宴上,为了照明我们至少有一套 N 个有色的灯从1标记到 N 。这些灯被连接到4个按钮:

按钮 1 – 当这个按钮被按下 , 所有的灯都改变状态:开的变为关,关的变为开。
按钮 2 – 改变编号为单数的那些灯的状态。
按钮 3 – 改变编号为偶数的那些灯的状态。
按钮 4 – 改变编号为3k+1 (k>=0) 的灯 , 即 1,4,7,...

有一台计数器 C ,它记录着按下按钮的次数。

当晚会开始时,所有的灯是开着的,且计数器C被设置为0。

[ 任务描述 ] :

    给你计数器C的值和最后时刻一些灯的状态信息,编写程序确定所有不同的可能的最终状态使之与符合给定的信息。

[ 输入数据 ] :

    文件有四行,分别为灯的个数 N ,计数器 C 的值 , 以及一些灯的最终状态。

    第一行为灯的个数 N ,第二行为计数器 C 的值 , 第三行为最终状态下亮的灯的编号,编号之间以一个空格隔开且以-1为结束标记。第四行最终状态下暗的灯的编号(格式同上)。

示例输入:

10
1
-1
7 -1

在这组测试数据中,有10个灯,按钮只按一下,7号灯最终是关的。

[ 输出数据 ] :

    文件 必须包含要求的所有不同可能的所有灯的最终状态,每种答案占一行。,按字典序输出.

    每行有 N 个0或1字符 , 分别代表灯的状态,0代表灯关着的,1代表灯开着的。

 示例输出:

0000000000 

0101010101

0110110110


    在以上数据中,有3种可能的最终状态。第一种可能所有灯都是关的,第二种可能 1, 4, 7, 10 号灯关着 ,2, 3, 5, 6, 8, 9 灯开着,第三种可能 1,3,5,7,9 号灯关着 2,4,6,8,10 灯开着。


参数 N 和 C 限制在:
10 <= N <= 100
1 <= C <= 10000