PAT 乙级 1018. 锤子剪刀布(C语言版)
来源:互联网 发布:软件培训学校 北京 编辑:程序博客网 时间:2024/05/21 06:43
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
输入格式:
输入第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>char judge(int j,int b,int c);int main(){ // Ascii码为索引,二维数组 int array['Z'+1]['Z'+1] = {0};//横向代表甲,纵向代表乙 int num,cnt; char jia,yi; scanf("%d",&num); int t = num; //t记住Num,下面减去赢的次数得到平局次数。 while(num != 0 && scanf("\n%c %c",&jia,&yi) != EOF){ // fflush(stdin); // scanf("%c %c",&jia,&yi); array[jia][yi]++; cnt++; if(cnt == num){ break; } } int win_j = array['J']['B']+array['C']['J']+array['B']['C']; int win_y = array['B']['J']+array['J']['C']+array['C']['B']; int ping = t - win_j- win_y; printf("%d %d %d\n",win_j,ping,win_y); printf("%d %d %d\n",win_y,ping,win_j); char j = judge(array['J']['B'],array['B']['C'],array['C']['J']); char y = judge(array['B']['J'],array['C']['B'],array['J']['C']); printf("%c %c",j,y);}char judge(int j,int b,int c){ int ret = 0 ,r = j; if(j <= c){ ret = 1; r = c; } if( r <= b){ ret = 2; } if(ret == 0)return 'J'; if(ret == 1)return 'C'; if(ret == 2)return 'B';}
0 0
- PAT 乙级 1018. 锤子剪刀布(C语言版)
- PAT 乙级 1018.锤子剪刀布
- 1018. 锤子剪刀布 (20) PAT 乙级
- PAT(乙级)1018. 锤子剪刀布
- PAT-乙级-1018. 锤子剪刀布 (20)
- PAT乙级.1018. 锤子剪刀布 (20)
- PAT乙级 1018. 锤子剪刀布
- 1018. 锤子剪刀布 (20)-PAT乙级
- [PAT-乙级]1018.锤子剪刀布
- 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.锤子剪刀布
- 字符串左旋转&&反转单词顺序&&Text Reverse&&句子的逆序
- java单链表
- Eclipse的java代码出错:import org.apache cannot be resolved
- 【PAT】(乙级)1015. 德才论 (25)
- Ubuntu 安装KaLi源
- PAT 乙级 1018. 锤子剪刀布(C语言版)
- iOS 全选 反选 和删除
- java中stringBuilder的用法
- 开源ETL工具kettle系列之常见问题
- thinking in java test4.3练习(1)(2)(3)(4)(5)用三元操作符和按位操作来显示二进制
- rpm 命令及应用
- 二叉树前序中序建立和后序中序建立
- Yahoo天气插件Api
- windows下配置nginx+php