#include<stdio.h> int main(){ int n; char f[5]={'P','R','S','P'}; while(scanf("%d",&n)!=EOF){ while(n--){ int m; scanf("%d",&m); int s1=0,s2=0; char a,b; while(m--){ getchar(); scanf("%c %c",&a,&b); int i; for(i=0;i<=3;i++){ if(a==f[i]&&b==f[i+1]) s1+=1; if(a==f[i+1]&&b==f[i]) s2+=1; } } if(s1>s2) printf("Player 1\n"); if(s2>s1) printf("Player 2\n"); if(s1==s2)printf("TIE\n"); } } return 0; }
这道题我首先提交一直都是WA,然后发现是数组的范围小了,因为定义的是f[4],而在代码中当i=3时,f[4]就越界了,要改大点。
这个代码是从别人那里借鉴来的,我的思路是很多个if,但我觉得麻烦,然后看到了这个,觉得不错