就是简单模拟一下,主要是理清思路。
#include<iostream>
#include<cstdio>
using namespace std;
bool f[10][10];
int a[101000],b[101000],n,n1,n2,ans1,ans2,cnt1,cnt2;
int main() {
f[0][2]=1;f[0][3]=1;
f[1][0]=1;f[1][3]=1;
f[2][1]=1;f[2][4]=1;
f[3][2]=1;f[3][4]=1;
f[4][0]=1;f[4][1]=1;
scanf("%d%d%d",&n,&n1,&n2);
for (int i=0;i<n1;i++) scanf("%d",&a[i]);
for (int i=0;i<n2;i++) scanf("%d",&b[i]);
for (;n--;) {
ans1+=f[a[cnt1]][b[cnt2]];
ans2+=f[b[cnt2]][a[cnt1]];
cnt1=(cnt1+1)%n1;
cnt2=(cnt2+1)%n2;
}
printf("%d %d\n",ans1,ans2);
return 0;
}