当前位置: 代码迷 >> 综合 >> Good Luck in CET-4 Everybody!(巴什博奕)
  详细解决方案

Good Luck in CET-4 Everybody!(巴什博奕)

热度:17   发布时间:2024-03-10 00:59:44.0
题目传送门

Good Luck in CET-4 Everybody!

题目大意

1、 总共n张牌;
2、 双方轮流抓牌;
3、 每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…)
4、 抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;
Kiki先手,Cici后手

思路

当一个人面临3的倍数的局势时必败,因为他无法取完,而另外一个人可以取完或者构造一个新的3的倍数局势给这个人
所以算是巴什博奕,判断对3取模的情况即可

AC Code

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<math.h>
using namespace std;
#define endl '\n'
#define INF 0x3f3f3f3f
// #define int long long
#define debug(a) cout<<#a<<"="<<a<<endl;
typedef long long ll;
const double PI=acos(-1.0);
const double e=exp(1.0);
const int M=1e9+7;
const int N=2e5+7;
inline int mymax(int x,int y){
    return x>y?x:y;}
inline int mymin(int x,int y){
    return x<y?x:y;}void solve(){
    int n;while(~scanf("%d", &n)){
    if(n%3==0)  cout<<"Cici"<<endl;else        cout<<"Kiki"<<endl;}return ;
}signed main(){
    solve();return 0;
}
  相关解决方案