题目大意:给定一串01序列,有个人先选择了其中一个0,求下一位是0的概率大还是1的概率大。
题目分析:感觉题目大意就已经基本把这题说完了。。原版题意->
题意
你和人决斗。决斗规则如下:用一把有n个弹槽的左轮手枪,对着自己脑袋来一枪,孰生孰死看天意。现在对方已经装了若干发子弹,并随机转了一下转轮,子弹呢用一个01序列表示,0表示这个弹槽无子弹,1表示有子弹。对方先对着自个脑袋开了一枪,嗯,你只听到了一声’click’,人还好好的,是空枪。现在轮到你了,摆在你面前的有两个选择,一是直接对自己开射,二是转一下转轮再来开射,显然你会选择生还希望更大的那种。
现在要做的就是根据子弹装填的序列,进行判断,如果直接shot生还希望大输出”SHOOT”,如果转一下生还希望大输出”ROTATE”,两种选择生还希望相同输出“EQUAL”.
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #include<functional> #include<cmath> #include<cctype> #include<cassert> #include<climits> using namespace std; #define For(i,n) for(int i=1;i<=n;i++) #define Rep(i,n) for(int i=0;i<n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #define ForD(i,n) for(int i=n;i;i--) #define Forp(x) for(int p=pre[x];p;p=next[p]) #define RepD(i,n) for(int i=n;i>=0;i--) #define MEM(a) memset(a,0,sizeof(a)) #define MEMI(a) memset(a,127,sizeof(a)) #define MEMi(a) memset(a,128,sizeof(a)) #define INF (2139062143) #define phiF (1000000006) #define MAXN (1000000+10) typedef long long LL; char s[105]; int a,b,n; int main(){ //freopen("in.txt","r",stdin); scanf("%s",s+1); n=strlen(s+1); s[n+1]=s[1]; //n++; For (i,n){ if (s[i]=='0'){ if (s[i+1]=='0') a++; else b++; } } if (b==0) {printf("EQUAL"); return 0; } if (a>b) printf("SHOOT"); else if (a<b) printf("ROTATE"); else printf("EQUAL"); }
NEERC2009 headshot
最新推荐文章于 2019-09-14 19:28:34 发布