请各位神犇绕道,本题为新手向
题目描述略,请切换网页以查看
思路:模拟谁都知道,可以不用写那么多if啊
直接用二维数组来表示岂不美哉?至于轮回的话直接mod就好特判一下
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=205;
int a[maxn];
int b[maxn];
bool e[6][6];
int n,na,nb;
int t;
//0 1 2 3 4
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
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]);
e[1][0]=1;
e[0][2]=1;
e[0][3]=1;
e[4][0]=1;
e[2][1]=1;
e[1][3]=1;
e[4][1]=1;
e[3][2]=1;
e[2][4]=1;
e[3][4]=1;
int aa=0,ab=0;
for(int i=1;i<=n;i++)
{
int w1=i%na;
int w2=i%nb;
if(!w1) w1=na;
if(!w2) w2=nb;
w1=a[w1];
w2=b[w2];
aa+=e[w1][w2];
ab+=e[w2][w1];
}
cout<<aa<<" "<<ab<<endl;
return 0;
}