题解:U581641 1.赌神(god)

· · 题解

题目传送门

题目大意

给出一堆筹码共 n 个,每一次可以取 2^k 个筹码,最后取完者胜。

思路

签到题。

运用小学/初中数学找规律。

对于样例以及自己造一些数据,即可找出本题的关键为是否是 3 的倍数。只要数学水平过关,在5min左右即可AC。

小结:本来打算将数据范围改为 long long 的。

代码

#include<bits/stdc++.h>
using namespace std;
long long n;//不开long long没关系。
string s;
int main()
{
    freopen("god.in","r",stdin);
    freopen("god.out","w",stdout);
    cin>>n>>s;
    if(s=="Yang")
    {
        if(n%3==0) cout<<"Lost!"<<endl;
        else cout<<"Win!"<<" "<<n%3<<endl;
    }
    else if(s=="Jie")
    {
        if(n%3==0) cout<<"Win!"<<endl;
        else cout<<"Lost!"<<endl;       
    }
    return 0;
}