openjudge1.6石头剪刀布
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,b; //对局次数,a的出拳周期,b的出拳周期
cin >> n >> a >> b;
int lis_a[a],lis_b[b]; //存储两人的出拳
int score_a = 0,score_b = 0;
for (int i=0;i<a;i++){
cin >> lis_a[i];
}
for (int i=0;i<b;i++){
cin >> lis_b[i];
}
for(int i=0;i<n;i++){
//a赢的情况有三个,比较长,放在三个布尔值里,再进行判断
bool a1 = lis_a[i%a] == 0 && lis_b[i%b] == 2;
bool a2 = lis_a[i%a] == 2 && lis_b[i%b] == 5;
bool a3 = lis_a[i%a] == 5 && lis_b[i%b] == 0;
if(a1 || a2 || a3) score_a++;
else if (lis_a[i%a] == lis_b[i%b]) continue;
else score_b++;
}
if(score_a>score_b) cout << ‘A’;
else if (score_a<score_b) cout << ‘B’;
else cout << “draw”;
return 0;}
