你这样要枚举的东西太多了容易出锅
还不如做个数组把所有东西都存起来
就像这样
```cpp
#include<bits/stdc++.h>
using namespace std;
int lk[5][5]={0,1,2,2,1,2,0,1,2,1,1,2,0,1,2,1,1,2,0,2,2,2,1,1,0};
int a[201],b[201];
int main()
{
int n,n1,n2,i;
int s1=0,s2=0;
scanf("%d%d%d",&n,&n1,&n2);
for(i=0;i<n1;i++)
scanf("%d",&a[i]);
for(i=0;i<n2;i++)
scanf("%d",&b[i]);
for(i=0;i<n;i++)
{
if(lk[a[i%n1]][b[i%n2]]==1)
s2++;
if(lk[a[i%n1]][b[i%n2]]==2)
s1++;
}
printf("%d %d",s1,s2);
return 0;
}
```
上面那个数组是二维的
by michael_song @ 2020-08-18 20:57:48
@[michael_song](/user/193158)
是的呢好像就是枚举错了吧^_^我再检查一下
蟹蟹~
by 平Jo裤平Jo裤 @ 2020-08-19 11:09:42
@[平Jo裤平Jo裤](/user/69390)
qaq
by michael_song @ 2020-08-19 20:14:34