📜  门| GATE-CS-2014-(Set-3) |问题 12(1)

📅  最后修改于: 2023-12-03 14:58:29.494000             🧑  作者: Mango

题目介绍:门

这是一道关于门的编程问题。给定n个门和m个开关,每个开关可以逐一打开或关闭相应的门。每个门的初始状态为关闭。每次操作时,每个开关i与门j相关,如果开关i在打开状态,则改变门j的状态(从关闭变为打开,从打开变为关闭)。

你的任务是确定每个开关的状态,以便打开所有门。如果没有解决方案,则返回-1。

输入格式

第一行包含一个整数T,表示测试用例的数量。然后是T个测试用例。

每个测试用例包含两个整数n和m,分别表示门和开关的数量。然后是一个mxn的01矩阵,表示每个开关与每个门的关系。

输出格式

对于每个测试用例,如果有解决方案,则打印mx1的01值序列,其中第i个值表示打开或关闭第i个开关。否则,打印-1。

示例

输入:

2
3 4
1 0 0 1
0 1 1 0
0 1 1 1
4 5
0 0 1 1 1
1 1 0 0 1
0 1 1 0 1
1 0 0 1 0

输出:

1
1
0
1
-1
解释

在第一个测试用例中,第一个开关打开,第二个开关打开,第三个开关关闭,所有门都会打开。

在第二个测试用例中,没有解决方案,因为现有的开关无法启动所有的门。