Think:
1>题意分析:输入一个字符串,代表子弹序列,需要注意子弹序列为圆形可环绕,你的朋友先开了一枪,轮空,现在你来决定直接开枪还是转一下再开枪存活概率高,直接开枪存活概率为P(00)/(P(00)+P(01)),转一下存活概率为P(0)/(P(0)+P(1)),P(00) + P(01) = P(0);
以下为Accepted代码
#include <cstdio>
#include <cstring>
using namespace std;
int main(){
char st[104];
while(scanf("%s", st) != EOF){
int len = strlen(st);
int a = 0, b = 0;
for(int i = 0; i < len; i++){
if(st[i] == '0')
b++;
if(st[i] == '0' && st[(i+1)%len] == '0')
a++;
}
if(a*len == b*b) printf("EQUAL\n");
else if(a*len > b*b) printf("SHOOT\n");
else if(a*len < b*b) printf("ROTATE\n");
}
return 0;
}