#abc155f. [abc155_f]Perils in Parallel
[abc155_f]Perils in Parallel
问题陈述
在被阿德巴拉王国入侵后,炸弹被布设在了我们的国家AtCoder Kingdom之中。
幸运的是,我们的军队ABC设法得到了一个控制炸弹系统的设备。
我们国家布设了颗炸弹,编号为到,其中第颗炸弹布设在坐标上。如果,表示第颗炸弹目前处于激活状态;如果,表示第颗炸弹目前处于未激活状态。
设备上有根绳子,编号为到。当我们剪断第根绳子时,在坐标和之间(包括这两个坐标)所有布设的炸弹状态都会发生改变,即从激活状态转变为未激活状态,反之亦然。
请判断是否有可能同时关闭所有的炸弹。如果答案是肯定的,请输出应该剪断的一组绳子。
约束条件
- 输入中的所有值都是整数。
- 两两不相同。
- 取值为 或 。
输入
输入以以下格式从标准输入中给出:
输出
如果无法同时关闭所有炸弹,请输出 -1
。如果可以,请按如下方式输出一组应该剪断的绳子:
这里, 是绳子的数量(可以为 ), 表示应该剪断的绳子的编号。必须满足 。
示例输入 1
3 4
5 1
10 1
8 0
1 10
4 5
6 7
8 9
示例输出 1
2
1 4
我们国家有三颗炸弹分别位于坐标、,以及处,其中坐标和的炸弹已激活,坐标的炸弹未激活。
剪断第一根绳子会改变坐标到之间布设的所有炸弹的状态,也就是三颗炸弹。
剪断第四根绳子会改变坐标到之间布设的炸弹的状态,也就是第三颗炸弹。
因此,通过剪断第一根和第四根绳子,我们可以同时关闭所有的炸弹。
示例输入 2
4 2
2 0
3 1
5 1
7 0
1 4
4 7
示例输出 2
-1
无论剪断哪些绳子,都无法同时关闭所有的炸弹。
示例输入 3
3 2
5 0
10 0
8 0
6 9
66 99
示例输出 3
0
所有的炸弹都已经关闭,因此我们不需要剪断任何绳子。
示例输入 4
12 20
536130100 1
150049660 1
79245447 1
132551741 0
89484841 1
328129089 0
623467741 0
248785745 0
421631475 0
498966877 0
43768791 1
112237273 0
21499042 142460201
58176487 384985131
88563042 144788076
120198276 497115965
134867387 563350571
211946499 458996604
233934566 297258009
335674184 555985828
414601661 520203502
101135608 501051309
90972258 300372385
255474956 630621190
436210625 517850028
145652401 192476406
377607297 520655694
244404406 304034433
112237273 359737255
392593015 463983307
150586788 504362212
54772353 83124235
示例输出 4
5
1 7 8 9 11
如果剪断不同的一组绳子都可以同时关闭所有的炸弹,输出其中任意一组即可。