洛谷 P1288 取数游戏II(博弈)

题目链接

思路:

先找到0的位置,如果位置是偶数,必胜,否则,必败;

eg.  1 2 3 4  5 0      先手每次都减为0使后手只能向后走,直到不能走为止;

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int a[30];

int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++){
        if(a[i]==0){
            if(i%2==0){
            cout<<"YES"<<endl;
            return 0;
            }
            break;
        }
    }
    for(int i=n;i>=1;i--){
        if(a[i]==0){
            if((n-i+1)%2==0){
            cout<<"YES"<<endl;
            return 0;
            }
            break;
        }
    }
    cout<<"NO"<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42754600/article/details/89386915