属于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;
}