PAT 乙级 锤子剪刀布 (20)

来源:互联网 发布:minecraftpe凡家物语js 编辑:程序博客网 时间:2024/05/17 20:32

锤子剪刀布 (20)

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

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

输入格式:

输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。

输出格式:

输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有1个空格。如果解不唯一,则输出按字母序最小的解。

输入样例:
10C JJ BC BB BB CC CC BJ BB CJ J
输出样例:
5 3 22 3 5B B
分析:

这个题目很简单,所以随便写了写···结果居然运行!超时!word 天~还是要稍微注意一下性能的~~

using System;namespace PAT{    class Program    {        static void Main(string[] args)        {            Person A = new Person();            Person B = new Person();            int tryTimes = int.Parse(Console.ReadLine());            for(int i = 0; i < tryTimes; i++)            {                HaveAGame(A, B);            }            string AWinMost = FindMostWin(A);            string BWinMost = FindMostWin(B);            int AWin = A.bWin + A.cWin + A.jWin;            int BWin = B.bWin + B.cWin + B.jWin;            Console.WriteLine("{0} {1} {2}", AWin, tryTimes - AWin - A.lose, A.lose);            Console.WriteLine("{0} {1} {2}", BWin, tryTimes - BWin - B.lose, B.lose);            Console.Write("{0} {1}", AWinMost, BWinMost);        }        static void HaveAGame(Person A, Person B)        {            string[] result = Console.ReadLine().Split(' ');            char chA = char.Parse(result[0]);            char chB = char.Parse(result[1]);            if(chA == 'B')            {                if (chB == 'C')                {                    A.bWin++;                    B.lose++;                }                else if (chB == 'J')                {                    B.jWin++;                    A.lose++;                }            }            else if(chA == 'C')            {                if (chB == 'B')                {                    B.bWin++;                    A.lose++;                }                else if (chB == 'J')                {                    A.cWin++;                    B.lose++;                }            }            else            {                if(chB == 'B')                {                    A.jWin++;                    B.lose++;                }                else if(chB == 'C')                {                    B.cWin++;                    A.lose++;                }            }        }        static string FindMostWin(Person person)        {            int mostWin = person.bWin;            string mostName = "B";            if (person.cWin > mostWin)            {                mostWin = person.cWin;                mostName = "C";            }            if (person.jWin > mostWin)            {               mostWin = person.jWin;                mostName = "J";            }            return mostName;        }    }    class Person    {        public int bWin;        public int cWin;        public int jWin;        public int lose;    }}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为手机自动进入耳机模式怎么办 华为手机耳机怎么挂了电话怎么办 华为手机听筒声音小怎么办 华为p9手机听筒声音小怎么办 苹果6总是耳机模式怎么办 苹果没有插耳机模式怎么办 苹果手机切换耳机模式怎么办 苹果6s出现耳机模式怎么办 苹果6变成了耳机模式怎么办 苹果手机成耳机模式了怎么办 华为mate8耳机声音小怎么办 移动sim卡丢了怎么办 蓝牙耳机开不开机怎么办 苹果手机蓝牙不匹配怎么办 苹果6蓝牙坏了怎么办 蓝牙密钥不正确不匹配怎么办 华为p6开不了机怎么办 华为c199手机不停重启怎么办 华为手机用户数据被锁定怎么办 朵唯手机丢了怎么办 网件r6220穿墙差怎么办 无线网打王者卡怎么办 酷翼x9忘了密码怎么办 楼上的路由器楼下不好使怎么办 电信4g网络不好怎么办 农村只有2g网怎么办 电信卡4g网速慢怎么办 小米手机触屏失灵怎么办 荣耀v10电信网速很慢怎么办 华为路由器掉线了怎么办 三星s6只识别一张卡怎么办 华为手机卡不显示了怎么办 华为账号手机卡丢了怎么办 荣耀8耗电量太快怎么办 vivo卡2不显示怎么办 电信宽带玩王者荣耀卡怎么办 联通4g玩游戏卡怎么办 华为悦盒遥控器丢了怎么办 6s不能用电信卡怎么办 iphone6电信卡无服务怎么办 魅族手机电信卡怎么办