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
- PAT乙级 锤子剪刀布 (20)
- 1018. 锤子剪刀布 (20) PAT 乙级
- PAT-乙级-1018. 锤子剪刀布 (20)
- PAT乙级.1018. 锤子剪刀布 (20)
- PAT 乙级 锤子剪刀布 (20)
- 1018. 锤子剪刀布 (20)-PAT乙级
- PAT乙级 1018. 锤子剪刀布 (20)
- PAT乙级1018. 锤子剪刀布 (20)
- PAT 乙级 1018. 锤子剪刀布 (20)
- PAT乙级 1018. 锤子剪刀布 (20)
- [PAT乙级]1018. 锤子剪刀布 (20)
- pat 乙级 1018. 锤子剪刀布 (20)
- 1018. 锤子剪刀布 (20)--PAT乙级
- PAT乙级1018. 锤子剪刀布(20)
- PAT乙级1018. 锤子剪刀布 (20)
- PAT乙级—1018. 锤子剪刀布 (20)-native
- 1018. 锤子剪刀布 (20)-PAT乙级真题
- 【PAT】(乙级)1018. 锤子剪刀布 (20)
- 值得程序猿关注的微信公众号
- 第一周+周三学习笔记
- java之旅之JDBC
- innodb/myisam区别
- Java集合类的使用
- PAT 乙级 锤子剪刀布 (20)
- Goal Modeling:KAOS
- 链表定义
- linux下输出文件夹下所有文件夹名称并重定向
- 用自己写的接口文档生成工具生成入参出参文档
- Git常用命令总结
- android开发技巧收集
- python学习之(7)正则表达式篇
- 关于linux下安装eclipse后可能出现空格键变短的情况