#include<bits/stdc++.h>
#define max 200
using namespace std;
struct Adata
{
int A;
int B;
int Aans;
int Bans;
}Adata1[max];
int main()
{
int N, Na, Nb;
int a[max], b[max];
cin >> N >> Na >> Nb;
for (int i = 1; i <= Na; i++)
{
cin >> a[i];
}
for (int j = 1; j <= Nb; j++)
{
cin >> b[j];
}
for (int i = 1; i <= N; i++)
{
int x = i % Na;
int y = i % Nb;
if (x == 0)
{
x = Na;
}
if (y == 0)
{
y = Nb;
}
Adata1[i].A = a[x];
Adata1[i].B = b[y];
if (Adata1[i].A == Adata1[i].B)
{
Adata1[i].Aans = Adata1[i].Bans = 0;
}
if (Adata1[i].A == 0 && Adata1[i].B == 1)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 0 && Adata1[i].B == 2)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 0 && Adata1[i].B == 3)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 0 && Adata1[i].B == 4)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 1 && Adata1[i].B == 0)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 1 && Adata1[i].B == 2)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 1 && Adata1[i].B == 3)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 1 && Adata1[i].B == 4)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 2 && Adata1[i].B == 0)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 2 && Adata1[i].B == 1)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 2 && Adata1[i].B == 3)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 2 && Adata1[i].B == 4)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 3 && Adata1[i].B == 0)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 3 && Adata1[i].B == 1)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 3 && Adata1[i].B == 2)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 3 && Adata1[i].B == 4)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 4 && Adata1[i].B == 0)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 4 && Adata1[i].B == 1)
{
Adata1[i].Aans = 1;
Adata1[i].Bans = 0;
}
if (Adata1[i].A == 4 && Adata1[i].B == 2)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
if (Adata1[i].A == 4 && Adata1[i].B == 3)
{
Adata1[i].Aans = 0;
Adata1[i].Bans = 1;
}
}
int Ascore = 0, Bscore = 0;
for (int i = 1; i <= N; i++)
{
Ascore += Adata1[i].Aans;
Bscore += Adata1[i].Bans;
}
cout << Ascore << ' ' << Bscore;
return 0;
}
[NOIP2014 提高组] 生活大爆炸版石头剪刀布
最新推荐文章于 2023-04-14 22:08:40 发布