AT_nikkei2019ex_h 8^kゲーム

· · 题解

这题有点类似于博弈论(取石子)。我们不用管他们每次要取多少个,我们知道只要最后还剩 9 颗石子谁先取谁就输,那么要知道谁先去取就直接拿石子个数 \bmod 9,再去判断他是奇是偶,如果是偶数就是青木君赢,如果是奇数就是高桥君赢。

结论:来分类讨论 x(x 是石子个数)。

注意:我们需要注意一点,如果 x \bmod 9 \bmod 2==8 的话是高桥君赢,因为那一次高桥君可以一次把所有的取完(题目规定是这样)。

代码展示:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long x;
    cin>>x;
    if(x%9%2==0&&x%9%2!=8)
    cout<<"Lose"<<endl;
    else
    cout<<"Win"<<endl;
    return 0;
}