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

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

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

    输入格式:

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

    ==========================================================================
    SRC:
    #include <stdio.h>
    
    
    int main()
    {
        char X , Y ;
        int XC_win,XB_win,XJ_win;
        int YC_win, YB_win,YJ_win ;
        int equal ;
        int i , loop, result ;
    
        XC_win = XB_win = XJ_win = 0 ;
        equal = 0 ;
        YC_win = YB_win = YJ_win = 0 ;
    
        scanf ("%d", &loop ) ;
        getchar() ;
        for ( i = 0 ;  i < loop ; i++ )
        {
            scanf ("%c", &X ) ;
            getchar() ;
            scanf("%c", &Y ) ;
            getchar() ;
            result = (int)(X-Y) ;
            switch (result)
            {
            case -7 :
                XC_win++ ;
                break ;
            case 8 :
                XJ_win++ ;
                break ;
            case -1:
                XB_win++ ;
                break ;
            case 7 :
                YC_win++ ;
                break ;
            case -8:
                YJ_win++ ;
                break ;
            case 1 :
                YB_win++ ;
                break ;
            default:
                equal++ ;
            }
        }
    
        printf("%d %d %d
    ",(XB_win+XC_win+XJ_win), equal, loop-(XB_win+XJ_win+XC_win+equal)) ;
        printf("%d %d %d",(YB_win+YC_win+YJ_win), equal, loop-(YB_win+YJ_win+YC_win+equal)) ;
    
        if (XB_win>=XC_win)
        {
            XB_win >= XJ_win ? printf("B ") : printf("C ") ;
            
        }
        else //XB < XC
        {
            XC_win >= XJ_win ? printf("C ") :printf("J ") ;
        }
        
        if (YB_win>=YC_win)
        {
            YB_win >= YJ_win ? printf("B") : printf("C") ;
            
        }
        else //YB < YC
        {
            YC_win >= YJ_win ? printf("C") :printf("J") ;
        }
    
        return 0 ;
    }

  • 相关阅读:
    jmeter(46) redis
    jmeter(45) tcp/ip协议
    Codeforces Round #538 (Div. 2)D(区间DP,思维)
    Codeforces Global Round 1D(DP,思维)
    Educational Codeforces Round 57D(DP,思维)
    UPC11073(DP,思维)
    Yahoo Progamming Contest 2019D(DP,思维)
    Atcoder Beginner Contest 118D(DP,完全背包,贪心)
    Xuzhou Winter Camp 1C(模拟)
    Educational Codeforces Round 57 (Rated for Div. 2)D(动态规划)
  • 原文地址:https://www.cnblogs.com/inuyasha1027/p/pat_practice3.html
Copyright © 2011-2022 走看看