P9278 [AGM 2023 资格赛] 另一个游戏

· · 题解

题目链接

思路

本题大致按照两种情况分析。

观察完题目,我们不难发现,在此题中,如若 n=2,则先手必胜,这是因为先手可以直接把第一堆移动到第二堆,此时,先手肯定必胜。

我们不难发现,在本题目中,如果是一次性拿完一堆,则需要考虑奇偶性,此题类似,如若 n≠2,并且在本题中 a_1=1,先手就必败,因为这样可以直接改变奇偶性,使先手必败,反之,先手必胜。

ACcode

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a;
signed main(){
    cin>>n;
    if(n==2){
        cout<<"Charlie"<<endl;
    }
    else{
        cin>>a;
        if(a==1){
            cout<<"Dan"<<endl;
        }
        else{
            cout<<"Charlie"<<endl;
        }
    }
    return 0;
}