zoukankan      html  css  js  c++  java
  • 1018 锤子剪刀布

    1018 锤子剪刀布 (20分)
     

    大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

    FigCJB.jpg

    现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

    输入格式:

    输入第 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

        这道题目要求记录每个人的胜负平次数和获胜时所用的什么的次数,其他的就没什么了,注意这些细节就行了。附上代码,代码注释也比较详细

     1 #include<iostream>
     2 using namespace std;
     3 struct node{
     4     int win,p,lose;
     5     int C,J,B;
     6 };
     7 void printCJB(int C,int J,int B)
     8 {   //相等的情况下输出字母序最小的
     9     if(B>=C&&B>=J)  //使用B获胜次数最多
    10         cout<<'B';
    11     else if(C>=J&&C>B)//使用C获胜次数最多
    12         cout<<'C';
    13     else if(J>B&&J>C)//使用J获胜次数最多
    14         cout<<'J';
    15 }
    16 int main()
    17 {
    18     int N;
    19     char tem0,tem1;
    20     struct node v[2]={0};
    21     cin>>N;
    22     while(N--)  //按照字母顺序比较大小
    23     {
    24         cin>>tem0>>tem1;
    25         if((tem0=='C'&&tem1=='J')||(tem0=='J'&&tem1=='B')||(tem0=='B'&&tem1=='C'))  //v[0]获胜
    26         {
    27             v[0].win++;
    28             v[1].lose++;
    29             if(tem0=='B')  
    30                 v[0].B++;
    31             else if(tem0=='J')
    32                 v[0].J++;
    33             else
    34                 v[0].C++;
    35         }
    36         else if(tem0==tem1) //平局
    37         {
    38             v[0].p++;
    39             v[1].p++;
    40         }
    41         else  //v[1]胜
    42         {
    43             v[1].win++;
    44             v[0].lose++;
    45             if(tem1=='B')  
    46                 v[1].B++;
    47             else if(tem1=='J')
    48                 v[1].J++;
    49             else
    50                 v[1].C++;
    51         }
    52     }
    53     cout<<v[0].win<<" "<<v[0].p<<" "<<v[0].lose<<endl;
    54     cout<<v[1].win<<" "<<v[1].p<<" "<<v[1].lose<<endl;
    55     printCJB(v[0].C,v[0].J,v[0].B);
    56     cout<<" ";
    57     printCJB(v[1].C,v[1].J,v[1].B);
    58     return 0;
    59 }

    ac了

  • 相关阅读:
    printcap
    browser-ua
    PHP 开发 APP 接口 学习笔记与总结
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode70 爬楼梯
  • 原文地址:https://www.cnblogs.com/buanxu/p/12813132.html
Copyright © 2011-2022 走看看