属于OI或者ACM中的模拟题型,顺便练一下STL中的queue容器
#include <iostream>
#include <algorithm>
#include <queue>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int n, na, nb;
queue<int> qa, qb;
cin >> n >> na >> nb;
//3比2强比其他弱 4比0、1强比其他弱
//0 表示“剪刀”,1 表示“石头”,2 表示“布”,3 表示“蜥蜴人”,4 表示“斯波克”
int* a = new int[na];
int* b = new int[nb];
for (int i = 0; i < na; i++)
{
cin >> a[i];
qa.push(a[i]);
}
for (int i = 0; i < nb; i++)
{
cin >> b[i];
qb.push(b[i]);
}
//0 表示平 1 表示赢 -1 表示输
int score[5][5] = { {1,3,2,2,3},{2,1,3,2,3},{3,2,1,3,2},{3,3,2,1,2},{2,2,3,3,1} };
int aa = 0, bb = 0;
int sa = 0, sb = 0;
for (int i = 0; i < n; i++)
{
aa = qa.front();
qa.pop();
qa.push(aa);
bb = qb.front();
qb.pop();
qb.push(bb);
if (score[aa][bb] == 2) {
sa++;
}
else if (score[aa][bb] == 3)
{
sb++;
}
aa++;
bb++;
}
cout << sa << " " << sb << endl;
//system("pause");
return 0;
}
京公网安备 11010502036488号