P10192 [USACO24FEB] Moorbles S
题目描述
Bessie 和 Elsie 正在玩弹珠游戏。游戏的玩法如下:Bessie 和 Elsie 开始时各有一定数量的弹珠。Bessie 取出 $A$ 个弹珠放在蹄子下,Elsie 猜测 $A$ 是偶数还是奇数。如果 Elsie 猜对了,她从 Bessie 那里赢得 $A$ 个弹珠,如果她猜错了,她输给 Bessie $A$ 个弹珠(如果 Elsie 有少于 $A$ 个弹珠,她就会输掉所有弹珠)。一名玩家失去所有弹珠时即失败。
游戏进行了一定回合后,Elsie 拥有 $N$($1\le N\le 10^9$)个弹珠。她感觉获胜很难,但她只是想不要输。在与 Bessie 玩得足够久之后,Elsie 对 Bessie 的习惯有了很好的了解,她发现在回合 $i$,Bessie 只可能会取出 $K$($1\le K\le 4$)种不同数量的弹珠。距离 Bessie 感到无聊退出游戏只有 $M$($1\le M\le 3\cdot 10^5$)个回合了。你能求出一个字典序最小的行动序列,使得无论 Bessie 如何选择,Elsie 都不会输吗?
输入格式
输入的第一行包含一个整数 $T$($1\le T\le 10$),为测试用例的数量。每个测试用例的描述如下:
- 第一行包含三个整数 $N$,$M$ 和 $K$,分别表示 Elsie 拥有的弹珠数量,回合数及 Bessie 可能进行的选择数。
- 以下 $M$ 行,第 $i$ 行包含 $K$ 个不同的空格分隔的整数 $a_{i,1}a_{i,2}\ldots a_{i,K}$($1\le a_{i,j}\le10^3$),表示 Bessie 在回合 $i$ 可能取出的弹珠数量。
输入保证所有测试用例的 $M$ 之和不超过 $3\cdot 10^5$。
输出格式
对于每一个测试用例,输出 Elsie 保证不输的字典序最小的行动序列,或者如果她会输则输出 $−1$。行动序列输出在一行中,包含 $M$ 个空格分隔的单词,每个单词为 `Even`(偶)或 `Odd`(奇)。
注意:`Even` 的字典序小于 `Odd`。
说明/提示
### 样例解释 1
在第一个测试用例中,唯一字典序更小的行动序列是 `Even Even Even`,但 Bessie 可以使 Elsie 输,通过先出 $5$,将 Elsie 的弹珠数量从 $10$ 减少到 $5$,然后再出 $3$,将 Elsie 的弹珠数量从 $5$ 减少到 $2$,然后出 $3$,这会输光她所有的弹珠。
如果 Elsie 采用正确的行动序列 `Even Even Odd`,那么如果 Bessie 以同样的方式进行游戏,最后当她出 $3$ 时,Elsie 将获得那 $3$ 个弹珠,将她的弹珠数量增加到 $5$。可以进一步证明,只要 Elsie 操作是 `Even Even Odd`,Bessie 无法以其他的方式赢走 Elsie 的所有弹珠。
在第二个测试用例中,可以证明,对于 Elsie 可以选择的任何行动顺序,Bessie 都存在一种方式可以赢走 Elsie 的所有弹珠。
### 测试点性质
- 测试点 $3$:$M\le 16$。
- 测试点 $4-6$:$M\le 1000$。
- 测试点 $7-12$:没有额外限制。