題解:手動打表……
#include <iostream>
#include <cstdio>
using namespace std;
int x,y;
int n,na,nb;
int s1,s2;
int a[1000],b[1000];
void ask(int x,int y)
{
if(a[x]!=b[y])
{
if(a[x]==0)
{
if(b[y]==3||b[y]==2)
s1++;
else s2++;
}
if(a[x]==1)
{
if(b[y]==3||b[y]==0)
s1++;
else s2++;
}
if(a[x]==2)
{
if(b[y]==1||b[y]==4)
s1++;
else s2++;
}
if(a[x]==3)
{
if(b[y]==2||b[y]==4)
s1++;
else s2++;
}
if(a[x]==4)
{
if(b[y]==0||b[y]==1)
s1++;
else s2++;
}
}
}
void init()
{
cin>>n>>na>>nb;
for(int i=1;i<=na;i++)
scanf("%d",&a[i]);
for(int i=1;i<=nb;i++)
scanf("%d",&b[i]);
}
void work()
{
for(int i=1;i<=n;i++)
{
x++;y++;
if(x>na) x=1;
if(y>nb) y=1;
ask(x,y);
}
cout<<s1<<" "<<s2<<endl;
}
int main()
{
init();
work();
return 0;
}