不会输

测试数据来自 system/2946

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

时间限制:1秒  内存限制:256M


【问题描述】

  小苇和小沐正在玩猜金币比赛。游戏的玩法如下:小苇和小沐开始时各有一定数量的金币。小苇取出 \(A\) 枚金币捏在手中,小沐猜测 \(A\) 是偶数还是奇数。如果小沐猜对了,他从小苇那里赢得 \(A\) 枚金币,如果她猜错了,她输给小苇A枚金币(如果小沐的金币不足 \(A\) 枚,则他就会输掉所有金币)。当某人输掉了所有金币,则判定他输掉比赛。

  已知小沐拥有\(m(1≤m≤10^9)\)枚金币。基于他对小苇的习惯的充分了解,他发现在每一回合,小苇只可能取出 \(k(1≤k≤4)\)种不同数量的金币:\(x_1,x_2,..,x_k\)。他们接下来准备玩 \(n(1≤n≤3 * 10^5)\) 回合的比赛。希望你能求出一个字典序最小的猜数序列,使得无论小苇如何选择,小沐都不会输?

【输入格式】

  输入的第一行包含一枚整数\( t(1≤t≤10)\),为测试数据的组数。对于每组数据:
  第一行包含三枚整数 \(m,n\) 和 \(k\),分别表示小沐拥有的金币数量,回合数及小苇每回合取出金币的选择种数。
以下\(n\)行,第\(i\)行包含\(k\)个不同的空格分隔的整数 \(x_{i1} x_{i2} … x_{ik} (1≤xij≤103)\),表示小苇在第 \(i\) 回合可能取出的金币数量。
  输入保证所有测试数据的 \(n\) 之和不超过 \(3*10^5\)

【输出格式】

  对于每一组测试数据,输出小沐保证不输的字典序最小的猜测序列,或者如果她会输则出−1。猜测序列输出在一行中,包含 \(n\) 个0或1,其中0表示偶数,1表示奇数。

【输入输出样例1】

 Input

2
10 3 2
2 5
1 3
1 3
10 3 3
2 7 5
8 3 4
2 5 6

 Output

001
-1

【样例1解释】

  在第一枚测试用例中,唯一字典序更小的行动序列是 000,但 小苇 可以使 小沐 输,通过先出 5,将 小沐 的金币数量从 10 减少到 5,然后再出 3,将 小沐 的金币数量从 5 减少到 2,然后出 3,这会输光她所有的金币。
如果 小沐 采用正确的行动序列 001,那么如果 小苇 以同样的方式进行游戏,最后当她出3 时,小沐 将获得那 3 枚金币,将她的金币数量增加到 5。可以进一步证明,只要 小沐 操作是 001,小苇 无法以其他的方式赢走 小沐 的所有金币。

【输入输出样例】

 Input

1
20 8 2
3 5
3 5
3 5
3 5
3 5
3 5
3 5
3 5

 Output

00010101

【样例2解释】

  在第二枚测试用例中,可以证明,对于小沐可以选择的任何行动顺序,小苇 都存在一种方式可以赢走 小沐 的所有金币。

【测试点性质】

  测试点 \(3:M≤16\)。
  测试点 \(4−6:M≤1000\)。
  测试点 \(7−12:\)没有额外限制。

【来源】

  Mr.he

定时练习(六)订正

未参加
状态
已结束
规则
OI
题目
6
开始于
2024-10-07 12:00
结束于
2024-11-18 04:00
持续时间
1000.0 小时
主持人
参赛人数
25