CodeForces - 841B Godsend(简单思维)

题目大意:

给你一串数,然后 A、B 两个人轮流从中取出一串连续的数。A取的数满足:该串数的和为奇数;B取的数,满足:该串数的和为偶数。轮到谁没办法取出满足要求的数串,那么谁就输了。现在告诉你 A 先取,并且两个人足够聪明,问你谁能赢。

分析:

其实只要分类讨论一下就好:
首先,如果给你的一串数是奇数,那么,A 直接都取走 B 输;
其次,如果给你一串偶数,那么,只要里面有奇数,那么 A 就有办法取走一串数,使得剩下的数的和变为奇数,那么此时,B 并没有办法通过取走若干个和为偶数的数串使得剩下的数串变成偶数,那么下一轮轮到 A 取,A 直接都取走就赢了。
所以 A 获胜的充分必要条件就是:所给数串中有至少一个奇数。

代码:

#include
using namespace std;

int n,a;
int main()
{
    scanf("%d",&n);
    int flag=0;
    for(int i=0;iscanf("%d",&a);
        if(a%2==1)flag=1;
    }
    if(flag==0)cout<<"Second"<else cout<<"First"<return 0;
}

你可能感兴趣的:(小结论速证)