UVA 11892 ENimEN

来源:互联网 发布:淘宝买黄金项链可靠吗 编辑:程序博客网 时间:2024/06/14 13:52

题意:有n堆石头,每堆石头的个数已经给出,游戏规则是两个人依次拿石头,要从上一次对手拿石头的那个堆里拿,在同一堆里拿石头的个数任意(个数>0),如果对手拿石头的那个堆里没有石头了,就任选一堆开始拿,直到所有堆里都没有石头了,最后一个拿石头的人获胜

解题思路:推理.如果每堆都有1个石头,那么通过奇偶数判断即可,因为每人每次只能拿一个石头,如果有一个堆里的石头大于1个,由于拿石头的数不固定,那么最先拿石头的人只要控制当他拿完石头后的剩余石头数是偶数他就一定会获胜,也就是说只要有一堆里的石头数大于1,最先拿石头的人肯定获胜

代码:

#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <cmath>#include <cstdio>using namespace std;typedef long long ll;int main(){    int t;    cin>>t;    while(t--)    {        int n;        cin>>n;        int flag=0;        ll sum=0;        for(int i=0;i<n;i++)        {            ll a;            cin>>a;            sum+=a;            if(a>=2)flag=1;        }        if(flag)cout<<"poopi"<<endl;        else        {            if(sum%2)cout<<"poopi"<<endl;            else cout<<"piloop"<<endl;        }    }    return 0;}


原创粉丝点击