我的代码:
#include <iostream>
using namespace std;
int main(){
int n,na,nb;
cin>>n>>na>>nb;
int a[na],b[nb];
for(int i=0;i<na;i++)
cin>>a[i];
for(int i=0;i<nb;i++)
cin>>b[i];
int pa=0,pb=0,sum_a=0,sum_b=0;
while(n--){
if(a[pa]==b[pb]){}
else if(a[pa]==0){
if(b[pb]==1||b[pb]==4)
sum_b++;
else sum_a++;
}
else if(a[pa]==1){
if(b[pb]==2||b[pb]==4)
sum_b++;
else sum_a++;
}
else if(a[pa]==2){
if(b[pb]==0||b[pb]==3)
sum_b++;
else sum_a++;
}
else if(a[pa]==3){
if(b[pb]==0||b[pb]==1)
sum_b++;
else sum_a++;
}
else if(a[pa]==4){
if(b[pb]==2||b[pb]==3)
sum_b++;
else sum_a++;
}
if(++pa==na) pa=0;
if(++pb==nb) pb=0;
}
cout<<sum_a<<' '<<sum_b;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200 + 10;
int n, na, nb, a[MAXN], b[MAXN], cnta, cntb;
int vs[5][5] = {{0,0,1,1,0},{1,0,0,1,0},{0,1,0,0,1},{0,0,1,0,1},{1,1,0,0,0}}; //得分表的处理
int main()
{
cin >> n >> na >> nb;
for(int i = 0; i < na; i++) cin >> a[i];
for(int i = 0; i < nb; i++) cin >> b[i];
for(int i = 0; i < n; i++)
{
cnta += vs[a[i % na]][b[i % nb]]; //周期循环
cntb += vs[b[i % nb]][a[i % na]];
}
cout << cnta << " " << cntb << endl;
return 0;
}
(我太菜了.jpg)