题目链接:https://www.luogu.org/problem/P1328
思路:
? 由题意可知,0—剪刀,1—石头,2—布;3—蜥蜴人,4—斯波克。
则
0<1,0>2,0>3,0<4;
1<2,1>3,1<4;
2<3,2>4;
3>4;
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
//("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n,na,nb,sum=0,tn=0,i,j;
int a[300],b[300];
scanf("%d %d %d",&n,&na,&nb);
for(i=0;i<na;i++){
scanf("%d",&a[i]);
}
for(i=0;i<nb;i++){
scanf("%d",&b[i]);
}
for(i=na;i<n;i++){
a[i] = a[i%na];//将0到n-1存入数组;
}
for(i=nb;i<n;i++){
b[i] = b[i%nb];//将0到n-1存入数组;
}
for(j=0;j<n;j++){//计算每一句的结果;
//用if列出所有结果;
if(a[j]==0&&b[j]==2){
sum++;
}else if(a[j]==2&&b[j]==0){
tn++;
}
if(a[j]==0&&b[j]==3){
sum++;
}else if(b[j]==0&&a[j]==3){
tn++;
}
if(a[j]==0&&b[j]==1){
tn++;
}else if(b[j]==0&&a[j]==1){
sum++;
}
if(a[j]==0&&b[j]==4){
tn++;
}else if(b[j]==0&&a[j]==4){
sum++;
}
if(a[j]==1&&b[j]==2){
tn++;
}else if(b[j]==1&&a[j]==2){
sum++;
}
if(a[j]==1&&b[j]==3){
sum++;
}else if(b[j]==1&&a[j]==3){
tn++;
}
if(a[j]==1&&b[j]==4){
tn++;
}else if(b[j]==1&&a[j]==4){
sum++;
}
if(a[j]==2&&b[j]==3){
tn++;
}else if(b[j]==2&&a[j]==3){
sum++;
}
if(a[j]==2&&b[j]==4){
sum++;
}else if(b[j]==2&&a[j]==4){
tn++;
}
if(a[j]==3&&b[j]==4){
sum++;
}else if(b[j]==3&&a[j]==4){
tn++;
}
if(a[j]==b[j]){//平局两人均得零分;
sum = sum;
tn = tn;
}
}
printf("%d %d\n",sum,tn);
return 0;
}
原文:https://www.cnblogs.com/zz9100/p/11285135.html