• PAT1018 锤子剪刀布


    大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
    
    
    现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
    
    输入格式:
    输入第 1 行给出正整数 N(105​​),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、
    B 代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。 输出格式: 输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以 1 个空格分隔。第 3 行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有 1 个空格。
    如果解不唯一,则输出按字母序最小的解。 输入样例: 10 C J J B C B B B B C C C C B J B B C J J 输出样例: 5 3 2 2 3 5 B B

    思路参考了算法笔记的哈:

    只想说一句:变量多的一定不要写错变量名........检查起来好难

    #include<iostream>
    
    using namespace std;
    
    int change_c(char c) {
        if (c == 'B') return 0;
        if (c == 'C') return 1;
        if (c == 'J') return 2;
    }
    int main() {
        int n;//总共几轮
        cin >> n;
        int wina = 0, winb = 0, ping = 0;//胜利次数
        char c[3] = { 'B','C','J' };
        int at[3] = { 0 }, bt[3] = { 0 };//统计a,b用石头剪刀布的赢的次数的数组,a[0]表示用布赢的次数
        int a, b;
        char ca, cb;//输入的a,b
        for (int i = 0; i < n; i++) {
            cin >> ca >> cb;
            a = change_c(ca), b = change_c(cb);
            if ((a + 1) % 3 == b) {
                //a胜
                wina++;
                at[a]++;//统计a用石头剪刀布的赢的次数
            }
            else if (a == b) {
                ping++;
            }
            else {
                //b赢
                winb++;
                bt[b]++;
            }
        }
        cout << wina << " " << ping << " " << winb << endl;
        cout << winb << " " << ping << " " << wina << endl;
        //预测下次要出什么
        int maxa = 0, maxb = 0;
    
        for (int i = 0; i < 3; i++) {
            if (at[i] > at[maxa]) maxa = i;
            if (bt[i] > bt[maxb]) maxb = i;
        }
    
        cout << c[maxa] << " " << c[maxb] << endl;
        std::system("pause");
        return 0;
    }
    唯有热爱方能抵御岁月漫长。
  • 相关阅读:
    数据结构与算法
    ROS 机器人技术
    我常用的 VSCode C:C++ 插件!
    Ubuntu 常用的录屏、截图、Gif 软件!
    从 0 开始机器学习
    Word 设置页码从指定页开始的详细步骤!
    Ubuntu16.04 更新 ruby-2.6!
    配置 Git 不用每次 push 都输入密码!
    解决 rubygems.org 无法访问的问题!
    PHP 反序列化漏洞入门学习笔记
  • 原文地址:https://www.cnblogs.com/syq816/p/12301283.html
Copyright © 2020-2023  润新知