石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。
一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?
#include<iostream>
#include<cmath>
#define t 10000+10
int a[t],b[t];
using namespace std;
int main()
{
int n,na,nb,A=0,B=0;
cin >>n>>na>>nb;
for (int i=1;i<=na;i++) cin>>a[i];
for (int i=1;i<=nb;i++) cin>>b[i];
for (int j=1,i=na+1;i<=n;i++,j++) a[i]=a[j];
for (int j=1,i=nb+1;i<=n;i++,j++) b[i]=b[j];
for (int i=1;i<=n;i++)
{
if((a[i]==0&&b[i]==2)||(a[i]==2&&b[i]==5)||(a[i]==5&&b[i]==0))
A++;
if ((b[i]==0&&a[i]==2)||(b[i]==2&&a[i]==5)||(b[i]==5&&a[i]==0))
B++;
}
if(A>B) cout << "A";
if(A<B) cout << "B" ;
if(A==B) cout << "draw";
return 0;
}