思路
这是一道博弈题,最优策略是高桥的 $k$ 一直是 $1$,青木的 $k$ 一直是 $0$,可以保证拿走的硬币不超过剩下的硬币,这样每次两人都取完后拿走硬币的数量是 $81+80$,结果是 $9$,那么就用 $N\bmod9$,得出的结果就是剩下的硬币。
如果结果是 $0$,那么最后拿的就是青木,输出 Lose
。
如果结果是 $2$、$4$、$6$,都比 $8^1$ 也就是 $8$ 小,每人只能拿一个,由于是偶数,最后拿的就是青木,输出 Lose
。
如果结果是 $1$、$3$、$5$、$7$,都比 $8^1$ 也就是 $8$ 小,每人只能拿一个,由于是奇数,最后拿的就是高桥,输出 Win
。
如果结果是 $8$,也就是 $8^1$,高桥一次性拿走,输出 Win
。
代码
#include<iostream>
using namespace std;
int main()
{
long long n;
cin>>n;
switch(n%9){
case 1:
case 3:
case 5:
case 7:
case 8:cout<<"Win";break;
default:cout<<"Lose";break;
}
return 0;
}