没有正解 都是我的暴力
T1生活大爆炸版石头剪刀布
把得分要求存进C数组里
c[i][j]表示i对j的得分情况
#include<iostream> #include<cmath> #include<ctime> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #define LL long long #define N 202 using namespace std; int n,na,nb; int a[N],b[N],c[10][10]; int A,B; void rule_() { /* 0--剪刀 1--石头 2--布 3--蜥蜴人 4--斯波克 */ for(int i=0;i<=4;i++) c[i][i]=0; c[0][1]=0;c[0][2]=1;c[0][3]=1;c[0][4]=0; c[1][0]=1;c[1][2]=0;c[1][3]=1;c[1][4]=0; c[2][0]=0;c[2][1]=1;c[2][3]=0;c[2][4]=1; c[3][0]=0;c[3][1]=0;c[3][2]=1;c[3][4]=1; c[4][0]=1;c[4][1]=1;c[4][2]=0;c[4][3]=0; } void play_() { for(int i=1;i<=n;i++) { int xa,xb; xa=i%na;if(!xa) xa=na; xb=i%nb;if(!xb) xb=nb; A=A+c[a[xa]][b[xb]]; B=B+c[b[xb]][a[xa]]; } } int main() { /// freopen("rps.in","r",stdin); /// freopen("rps.out","w",stdout); scanf("%d%d%d",&n,&na,&nb); for(int i=1;i<=na;i++) scanf("%d",&a[i]); for(int i=1;i<=nb;i++) scanf("%d",&b[i]); rule_(); play_(); printf("%d %d\n",A,B); // fclose(stdin); // fclose(stdout); return 0; } /* 10 5 6 0 1 2 3 4 0 3 4 2 1 0 9 5 5 0 1 2 3 4 1 0 3 2 4 */