#P14621. [IATI2021 day1]Heaps
[IATI2021 day1]Heaps
题目描述
Nini 和 Mimi 正在玩一个博弈游戏。场上共有 N 堆,每一堆同时包含两类物品:
B_i个大石头;S_i个小石子。
两人轮流操作,无法进行操作的人判负。Nini 先手。
一次操作中,玩家需要选择一个非空的堆 i,并从中移除一些大石头和/或小石子。形式化地说,可以选择整数 X, Y,满足:
0 <= X <= B_i0 <= Y <= S_iX + Y > 0
然后执行如下过程:
- 先移除
X个大石头和Y个小石子; - 但是,每移除
1个大石头,就必须从无限供应中补回至少K个小石子。
也就是说,当 X >= 1 时,操作后还需要再加入某个整数 Z 个小石子,其中:
Z >= K * X
注意,加入的小石子数量可以任意大,只要不少于 K * X 即可。
现在给出若干组独立询问。对于每组询问,你需要判断:在双方都采取最优策略的前提下,先手 Nini 是否必胜。
输入格式
第一行包含两个整数 K, Q,表示参数 K 以及询问组数 Q。
接下来有 Q 组独立测试。
对于每组测试:
- 第一行包含一个整数
N,表示堆的数量; - 接下来
N行,每行包含两个整数B_i, S_i,表示第i堆中大石头和小石子的数量。
输出格式
对于每组测试,输出一行:
- 若先手必胜,输出
Win; - 否则输出
Loss。
样例 #1
输入 #1
3 2
2
1 5
3 2
3
0 3
2 1
3 2
输出 #1
Win
Loss
数据范围
1 <= Q <= 101 <= N <= 10^40 <= K, B_i <= 30000 <= S_i <= 10^7
子任务
| 子任务 | 分值 | B_i 范围 |
额外限制 | K 范围 |
|---|---|---|---|---|
| 1 | 8 | = 0 |
S_i = 0 |
= 0 |
| 2 | 11 | <= 1 |
若 B_i = 1,则 S_i = 0 |
|
| 3 | 12 | = 0 |
无 | <= 300 |
| 4 | 18 | <= 1 |
<= 5 |
|
| 5 | <= 20 |
<= 20 |
||
| 6 | 10 | <= 100 |
<= 100 |
|
| 7 | 11 | <= 300 |
<= 300 |
|
| 8 | 12 | <= 3000 |
<= 3000 |
只有通过某个子任务中的所有测试点,才能获得该子任务的全部分数。