1627. Binary Code

单点时限: 2.0 sec

内存限制: 256 MB

考虑一个 N 位的二进制串 b1…bN,其对应的二进制矩阵为:

然后将这个矩阵的行按照字典顺序排序,‘0’ 在 ‘1’ 之前。

你的任务是编写一个程序,给定排序后的矩阵的最后一列,求出已排序的矩阵的第一行。

例如:考虑二进制串(00110),排序后的矩阵为:

0 0 0 1 1

0 0 1 1 0

0 1 1 0 0

1 0 0 0 1

1 1 0 0 0

则该矩阵的最后一列为(1 0 0 1 0)。给出了这一列,你的程序应该确定第一行为(0 0 0 1 1)。

输入格式

输入第一行包含一个整数 N(0<=20000),表示二进制串的位数。第二行包含 N 个整数,表示已排序的矩阵的最后一列(从上到下)。

输出格式

输出文件仅一行,包含 N 个整数,从左到右依次表示已排序的矩阵的第一行;若无解,则输出-1。

样例

Input
5
1 0 0 1 0
Output
0 0 0 1 1

11 人解决,26 人已尝试。

17 份提交通过,共有 109 份提交。

7.1 EMB 奖励。

创建: 12 年,6 月前.

修改: 2 年,6 月前.

最后提交: 2 月,2 周前.

来源: N/A

题目标签