PTA |1018 锤子剪刀布 字符串 打表

75 阅读1分钟

PTA | 程序设计类实验辅助教学平台 (pintia.cn)

打表 预处理

先把所以情况填表填出来,再在主句里面通过映射进行判断: image.png

#include <iostream>
using namespace std;
int main() {
    int n;
    cin >> n;
    int jiawin = 0, yiwin = 0;
    int jia[3] = { 0 }, yi[3] = { 0 };
    for (int i = 0; i < n; i++) {
        char s, t;
        cin >> s >> t;
        if (s == 'B' && t == 'C') {
            jiawin++;
            jia[0]++;
        }
        else if (s == 'B' && t == 'J') {
            yiwin++;
            yi[2]++;
        }
        else if (s == 'C' && t == 'B') {
            yiwin++;
            yi[0]++;
        }
        else if (s == 'C' && t == 'J') {
            jiawin++;
            jia[1]++;
        }
        else if (s == 'J' && t == 'B') {
            jiawin++;
            jia[2]++;
        }
        else if (s == 'J' && t == 'C') {
            yiwin++;
            yi[1]++;
        }
    }
    cout << jiawin << " " << n - jiawin - yiwin << " " << yiwin << endl << yiwin << " " << n - jiawin - yiwin << " " << jiawin << endl;
    int maxjia = jia[0] >= jia[1] ? 0 : 1;
    maxjia = jia[maxjia] >= jia[2] ? maxjia : 2;
    int maxyi = yi[0] >= yi[1] ? 0 : 1;
    maxyi = yi[maxyi] >= yi[2] ? maxyi : 2;
    char str[4] = { "BCJ" };
    cout << str[maxjia] << " " << str[maxyi];
    return 0;
}