题解 P4101 【[HEOI2014]人人尽说江南好 】
Infiltrator · · 题解
Description
传送门
Solution
如果每个人每次都只是将一个大小为
一共需要
如果都按照这样的策略进行游戏,那么如果步数是奇数就是先手胜否则是后手胜利。但是现在还有别的决策可以执行,而且最终局面不是唯一的,但是可以采用一种策略使最终局面就是这样的。考虑如果按这个策略进行游戏本来是先手必胜那么当后手执行决策时有两种可能。
第一种将一个大小为
第二种将两个大小为
如果不能合就直接拿一个大小为
所以无论是那种决策达到最终局面的步数不变,依然是先手必胜。如果一开始算的步数是后手必胜同理。
所以按这种决策计算的步数是奇数就是先手胜否则就是后手胜。
Code
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n, m;
int main()
{
int t;
scanf("%d", &t);
while (t--)
{
scanf("%d%d", &n, &m);
printf("%d\n", (n - (n / m) + (n % m != 0)) % 2 == 0 ? 1 : 0);
}
return 0;
}