关于母牛的俄罗斯轮盘赌问题
作者:互联网
原题链接
可以扣动扳机不多于k+1次,最少1次,k为上一次操作者扣动扳机的次数。先手第一次操作能且只能扣动一次扳机。母牛先手。如果母牛能赢,则输出"Cow",否则"Pig"。
分析:
经过分析,若能开出第一枪,则一定能开出第六枪,第十一枪。。。。。。以5为周期。
故以1-5为例,推出仅2、5时母牛能赢。
对于博弈论题目,要多推几个未来态以寻找规律。
/*
摸索出s使能开k枪一定能开k+s枪。
*/
const int maxv=1000010;
const int mod=1000000007;
const int maxNum=0x7ffffff-10;
const double eps=1e-12;
const double PI=3.1415926535;
typedef long long LL;
int main() {
int t,n,ans;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
ans=n%5;
if(ans==2||ans==0) printf("Cow\n");
else printf("Pig\n");
}
return 0;
}
标签:扳机,扣动,const,int,轮盘,ans,俄罗斯,母牛 来源: https://blog.csdn.net/CAOSHUCAOSHU/article/details/118938828