博弈论(牛客练习赛)

博弈论(牛客练习赛)_第1张图片

思路:我们考虑小念赢

1、如果n>1并且p=0,小念可以连续取两次,相当于小念有挂,可以从必败态转为必胜态,必赢。

2、如果n>1并且m>=n-1,小念第一次取n-1个,小念必赢。

代码:

void solve(){
    int n, m, p;
    cin >> n >> m >> p;
    if(n > 1 && p == 0){
        puts("XiaoNian");
    }else if(n > 1 && m >= n - 1){
        puts("XiaoNian");
    }else{
        puts("YangQiShaoNian");
    }
}

你可能感兴趣的:(算法)