牛牛爱博弈

牛牛爱博弈

https://ac.nowcoder.com/acm/problem/205086

题目

牛牛:我们来玩取石子游戏。一共有 颗石子,每个人每次可以取 1 或 2 颗石子,谁取走了最后一颗石子就算谁获胜。
牛妹:这游戏太无聊了。
牛牛:那改一改。一共有 颗石子,每个人每次可以取 颗石子,谁取走了最后一颗石子就算谁获胜。
牛妹:好的,你先开始取吧。
牛牛心里知道自己是否有必胜策略,但他想来考考你。
因为牛牛和牛妹很爱玩这种游戏,所以本题有多组数据。
(注:牛牛叫 Alan,牛妹叫 Frame。)

解题思路

如果只剩下 3 颗石子,那么谁先手,就谁输。

如果 是 3 的倍数,那么 Alan 不可能取完所有石子,因为 3 不可能整除
这时,Frame 可以取 1 颗或 2 颗石子,让剩下的石子数恢复成 3 的倍数,直至只剩下 1 颗或 2 颗石子,Frame 赢。

如果 不是 3 的倍数,那么 Alan 每次可以取 1 颗或 2 颗石子,使剩下的石子数目是 3 的倍数,直至取完,Alan 赢。

C++代码

#include<iostream>
using namespace std;

int main(){
    int T, n;
    cin >> T;
    while(T--){
        cin >> n;
        if(n%3)
            cout << "Alan" << endl;
        else
            cout << "Frame" <<endl;
    }
    return 0;
}
全部评论

相关推荐

今天 13:52
武汉大学 golang
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务