注解
1、模拟题。N个人玩石头剪刀布游戏,统计每个人的胜利概率。
2、水题。
代码
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int n;
cin>>n;
int isFirst = 1;
while(n) {
if(isFirst) {
isFirst = 0;
} else {
printf("\n");
}
int k;
cin>>k;
int win[n+1];
int all[n+1];
memset(win, 0, sizeof(win));
memset(all, 0, sizeof(all));
for(int i=0; i<k; i++) {
int num1, num2;
string s1, s2;
cin>>num1>>s1>>num2>>s2;
if(s1.compare(s2)) {
if( (s1.compare("rock")==0 && s2.compare("scissors")==0)
|| (s1.compare("scissors")==0 && s2.compare("paper")==0)
|| (s1.compare("paper")==0 && s2.compare("rock")==0)) {
win[num1]++;
} else {
win[num2]++;
}
all[num1]++;
all[num2]++;
}
}
for(int i=1; i<=n; i++) {
if(all[i]){
printf("%.3lf\n", (double)win[i]/all[i]);
}
else{
printf("-\n");
}
}
cin>>n;
}
return 0;
}