傻瓜做法
#include<stdio.h>
int main()
{
int i,n,na,nb,p,q,cnta=0,cntb=0;
scanf("%d %d %d",&n,&na,&nb);
int x[na+1],y[nb+1];
for(i=1;i<=na;i++)
scanf("%d",&x[i]);
for(i=1;i<=nb;i++)
scanf("%d",&y[i]);
for(i=1;i<=n;i++)
{
p=q=i;
if(p>na)
{
if(p%na==0) p=na;
else p=p%na;
}
if(q>nb)
{
if(q%nb==0) q=nb;
else q=q%nb;
}
// printf("%d %d\n",p,q);
if(x[p]==0&&(y[q]==1||y[q]==4)) cntb++;
if(x[p]==0&&(y[q]==2||y[q]==3)) cnta++;
if(x[p]==1&&(y[q]==0||y[q]==3)) cnta++;
if(x[p]==1&&(y[q]==2||y[q]==4)) cntb++;
if(x[p]==2&&(y[q]==0||y[q]==3)) cntb++;
if(x[p]==2&&(y[q]==1||y[q]==4)) cnta++;
if(x[p]==3&&(y[q]==0||y[q]==1)) cntb++;
if(x[p]==3&&(y[q]==2||y[q]==4)) cnta++;
if(x[p]==4&&(y[q]==0||y[q]==1)) cnta++;
if(x[p]==4&&(y[q]==2||y[q]==3)) cntb++;
// printf("%d %d\n",cnta,cntb);
}
printf("%d %d",cnta,cntb);
return 0;
}
int main()
{
int i,n,na,nb,p,q,cnta=0,cntb=0;
scanf("%d %d %d",&n,&na,&nb);
int x[na+1],y[nb+1];
for(i=1;i<=na;i++)
scanf("%d",&x[i]);
for(i=1;i<=nb;i++)
scanf("%d",&y[i]);
for(i=1;i<=n;i++)
{
p=q=i;
if(p>na)
{
if(p%na==0) p=na;
else p=p%na;
}
if(q>nb)
{
if(q%nb==0) q=nb;
else q=q%nb;
}
// printf("%d %d\n",p,q);
if(x[p]==0&&(y[q]==1||y[q]==4)) cntb++;
if(x[p]==0&&(y[q]==2||y[q]==3)) cnta++;
if(x[p]==1&&(y[q]==0||y[q]==3)) cnta++;
if(x[p]==1&&(y[q]==2||y[q]==4)) cntb++;
if(x[p]==2&&(y[q]==0||y[q]==3)) cntb++;
if(x[p]==2&&(y[q]==1||y[q]==4)) cnta++;
if(x[p]==3&&(y[q]==0||y[q]==1)) cntb++;
if(x[p]==3&&(y[q]==2||y[q]==4)) cnta++;
if(x[p]==4&&(y[q]==0||y[q]==1)) cnta++;
if(x[p]==4&&(y[q]==2||y[q]==3)) cntb++;
// printf("%d %d\n",cnta,cntb);
}
printf("%d %d",cnta,cntb);
return 0;
}