PAT (Basic Level) Practise:1018. 锤子剪刀布

时间:2022-12-19 13:09:50

【题目链接】

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

PAT (Basic Level) Practise:1018. 锤子剪刀布

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

输入格式:

输入第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 <stdio.h>

 // 0: 平,1:甲胜,2:乙胜
int calc_winner(int a, int b)
{
if(a == b)
return ; if((a == 'J' && b == 'B') || (a == 'C' && b == 'J') || (a == 'B' && b == 'C'))
return ; return ;
} char max_c_j_b(int c, int j, int b)
{
int tmp; tmp = (c >= j) ? c : j;
tmp = (b >= tmp) ? b : tmp; if(tmp == b)
return 'B';
else if(tmp == c)
return 'C';
else
return 'J';
} int main(void)
{
int cnt;
char a, b;
int i, tmp;
int a_C, a_J, a_B;
int b_C, b_J, b_B;
int a_win, a_draw, a_lose; scanf("%d", &cnt); getchar(); a_C = a_J = a_B = ;
b_C = b_J = b_B = ;
a_win = a_draw = a_lose = ; for(i = ; i < cnt; i++)
{
scanf("%c %c", &a, &b);
getchar();
tmp = calc_winner(a, b);
if(tmp == )
{
a_draw += ;
}
else if(tmp == )
{
a_win += ; if(a == 'C')
a_C += ;
else if(a == 'J')
a_J += ;
else
a_B += ;
}
else
{
a_lose += ; if(b == 'C')
b_C += ;
else if(b == 'J')
b_J += ;
else
b_B += ;
}
} printf("%d %d %d\n", a_win, a_draw, a_lose);
printf("%d %d %d\n", a_lose, a_draw, a_win); printf("%c %c", max_c_j_b(a_C, a_J, a_B), max_c_j_b(b_C, b_J, b_B));
return ;
}

PAT (Basic Level) Practise:1018. 锤子剪刀布的更多相关文章

  1. PAT 1018 锤子剪刀布(20)

    1018 锤子剪刀布 (20)(20 分) 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方 ...

  2. PAT&lpar;B&rpar; 1018 锤子剪刀布(C:20分,Java:18分)

    题目链接:1018 锤子剪刀布 分析 用一个二维数组保存两人所有回合的手势 甲乙的胜,平,负的次数刚好相反,用3个变量表示就可以 手势单独保存在signs[3]中,注意顺序.题目原文:如果解不唯一,则 ...

  3. PAT乙级 1018&period; 锤子剪刀布 &lpar;20&rpar;

    1018. 锤子剪刀布 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩“锤子剪刀布”的游 ...

  4. PAT 乙级 1018 锤子剪刀布 &lpar;20&rpar; C&plus;&plus;版

    1018. 锤子剪刀布 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩“锤子剪刀布”的游 ...

  5. 【PAT】1018 锤子剪刀布 &lpar;20&rpar;(20 分)

    1018 锤子剪刀布 (20)(20 分) 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算 ...

  6. PAT-乙级-1018&period; 锤子剪刀布 &lpar;20&rpar;

    1018. 锤子剪刀布 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩“锤子剪刀布”的游 ...

  7. PAT &lpar;Basic Level&rpar; Practise (中文)-1039&period; 到底买不买(20)

    PAT (Basic Level) Practise (中文)-1039. 到底买不买(20) http://www.patest.cn/contests/pat-b-practise/1039 小红 ...

  8. PAT &lpar;Basic Level&rpar; Practise (中文)- 1022&period; D进制的A&plus;B &lpar;20&rpar;

    PAT (Basic Level) Practise (中文)-  1022. D进制的A+B (20)  http://www.patest.cn/contests/pat-b-practise/1 ...

  9. PAT &lpar;Basic Level&rpar; Practise (中文)- 1024&period; 科学计数法 &lpar;20&rpar;

    PAT (Basic Level) Practise (中文)- 1024. 科学计数法 (20) http://www.patest.cn/contests/pat-b-practise/1024 ...

  10. PAT &lpar;Basic Level&rpar; Practise (中文)-1025&period; 反转链表 &lpar;25&rpar;

    PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)   http://www.patest.cn/contests/pat-b-practise/1025 ...

随机推荐

  1. OpenMP共享内存并行编程详解

    实验平台:win7, VS2010 1. 介绍 平行计算机可以简单分为共享内存和分布式内存,共享内存就是多个核心共享一个内存,目前的PC就是这类(不管是只有一个多核CPU还是可以插多个CPU,它们都有 ...

  2. sqlzoo&period;net刷题2

    Find the largest country (by area) in each continent, show the continent, thename and the area: 找到每个 ...

  3. Servlet&plus;Jsp实现图片或文件的上传功能

    首先,我们创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将该工程部署到服务器上时,服务器便也生成个upload文件夹,用来存放上传的资源. 然后,在WebR ...

  4. HDU 3711 Binary Number

    Binary Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  5. 深度剖析Redis持久化

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt118 Redis是一种面向"key-value"类型数据 ...

  6. input 上传图片显示预览、调用摄像头,ios和Android的兼容性解决

    html代码: <img id="pic" src="img/pic.png"/> </span><input id=" ...

  7. (十六)java中的String

    String:字符串类型,是java中最常用的引用类型,String是不可变的,java.lang.String是由final修饰,此类不可被继承.     String是不可变的,指的是字符串一旦创 ...

  8. i春秋——Misc之百度杯

    今天心里很是不开森,想想往日何必那么努力呢?不如你的比比皆是,可是人家就是因为有关系,你又能怎样呢? 你所有应该有的都被打翻了,别灰心,至少你曾经努力过! 愿我未来的学弟学妹们都能一直开开心心的过好每 ...

  9. Cocos2d-X开发教程-捕鱼达人 Cocos2-x development tutorial - fishing talent

    Cocos2d-X开发教程-捕鱼达人 Cocos2-x development tutorial - fishing talent 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱 ...

  10. iOS:移动端&OpenCurlyDoubleQuote;用户反馈和客服”的几个平台SDK的介绍

    简单阐述: 用户反馈功能几乎是每个app都有的一个功能点,通过反馈功能实现与用户的连接.沟通,随时随地收集用户意见反馈和Bug报告,即时和用户保持沟通,在一定程度上提升了app的竞争力.而给app评分 ...