简单模拟题
打个表就行
#include <iostream>
using namespace std;
const int MAXN = 210;
int a[MAXN];
int b[MAXN];
int main()
{
int soc[5][5] =
{ 0,-1, 1, 1,-1,
1, 0,-1, 1,-1,
-1, 1, 0,-1, 1,
-1,-1, 1, 0, 1,
1, 1,-1,-1, 0, }; //打表
int l, lena, lenb, ansa = 0, ansb = 0;
cin>>l>>lena>>lenb;
for(int i = 0; i < lena; i++)
cin>>a[i];
for(int j = 0; j < lenb; j++)
cin>>b[j];
int i = 0, j = 0;
while(l--)
{
if(soc[a[i]][b[j]] == 1) //加分减分
ansa ++;
else if(soc[a[i]][b[j]] == -1)
ansb ++;
i++;
j++;
if(i == lena)
i = 0; //循环数组
if(j == lenb)
j = 0;
}
cout<<ansa<<' '<<ansb<<endl;
return 0;
}