直接扣一枪没子弹的概率是一个条件概率,等于子串00的个数除以00和01总数(也就是0的个数),转一下再扣没子弹的概率等于0的比率。
设子串00的个数为a,0的个数为b,则两个概率分别为a/b和b/n,问题就是比较a*n和b*b。
#include<cstdio>
#include<cstring>
const int maxn=105;
char s[105];
int cnt0,cnt1,cnt2,cnt3;
int main()
{
while(scanf("%s",s+1)!=EOF){
cnt0=0;
cnt2=0;
cnt3=0;
int len=strlen(s+1);
s[0]=s[len];
s[len+1]=s[1];
for(int i=1;i<=len;i++){
if(s[i]=='0'){
cnt0++;
if(s[i+1]=='0') cnt2++;
if(s[i+1]=='1') cnt3++;
}
}
if(cnt2*len==cnt0*(cnt2+cnt3))
printf("EQUAL\n");
else if(cnt2*len>cnt0*(cnt2+cnt3))
printf("SHOOT\n");
else
printf("ROTATE\n");
}
return 0;
}