1018. 锤子剪刀布 (20)

时间限制
100 ms

内存限制
65536 kB

代码长度限制
8000 B

判题程序
Standard

作者
CHEN, Yue

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

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

输入格式:

输入第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 <iostream>
using namespace std;
int main()
{int n;cin >> n;int jiayin = 0, yiyin = 0;  //标记甲乙赢得情况 char s1, s2;int jia[2] = {0};  // 标记石头剪刀布哪种胜率高 int yi[2] = {0};  // for (int i = 0; i < n; i++) {  //列出6种情况 cin >> s1 >> s2;if (s1 == 'C' && s2 == 'J') {jiayin++;jia[0]++;} else if (s1 == 'J' && s2 == 'B') {jiayin++;jia[1]++;} else if (s1 == 'B' && s2 == 'C') {jiayin++;jia[2]++;} else if (s2 == 'C' && s1 == 'J') {yiyin++;yi[0]++;} else if (s2 == 'J' && s1 == 'B') {yiyin++;    yi[1]++;} else if (s2 == 'B' && s1 == 'C') {yiyin++;yi[2]++;} }cout << jiayin << " " << n - jiayin - yiyin << " " << yiyin << endl;  //输出 cout << yiyin << " " << n - jiayin - yiyin << " " << jiayin << endl;int maxjia = jia[0] > jia[1] ? 0 : 1;  //比较出赢得最多的情况 maxjia = maxjia > jia[2] ? maxjia : 2;int maxyi = yi[0] > yi[1] ? 0 : 1;maxyi = maxyi > yi[2] ? maxyi : 2;char str[3] = {'C', 'J', 'B'};cout << str[maxjia] << " " << str[maxyi];return 0;
}

1018石头剪刀布(模拟)相关推荐

  1. 【NOIP2014】生活大爆炸版石头剪刀布 模拟

    就是简单模拟一下,主要是理清思路. #include<iostream> #include<cstdio> using namespace std; bool f[10][10 ...

  2. NOIP2014 Day1T1生活大爆炸版石头剪刀布 模拟

           打个表模拟一下就好了.(似乎用0~n-1)会好写? AC代码如下: #include<iostream> #include<cstdio> using names ...

  3. c语言猜拳游戏石头剪刀布,模拟剪刀石头布猜拳游戏

    #include #include #include using namespace std; //猜拳类 class CaiQuan { public: CaiQuan() //构造函数,数值初始化 ...

  4. 【题解】洛谷P1328[NOIP2014]生活大爆炸版石头剪刀布 模拟

    题目链接 #include<cstdio> int judge[5][5]={{0,-1,1,1,-1},{1,0,-1,1,-1},{-1,1,0,-1,1},{-1,-1,1,0,1} ...

  5. 银行排队叫号系统的模拟

    模拟20秒的输出结果: --------模拟开始-------- 初始化用户: 普通客户 进入排队, 编号:1000 VIP客户  进入排队,  编号:1001 普通客户 进入排队, 编号:1002 ...

  6. NOIP大纲整理:(零)历年2000-2016NOIP提高组题目分析

    年份 题目名称 考查内容 难度   2000-2016年NOIP提高组复赛题目 2000-A 进制转换 初等代数,找规律 ★ 2000-B 乘积最大 资源分配DP ★★★ 2000-C 单词接龙 DF ...

  7. NOIP复赛复习(一)常见问题与常用策略

    数学类问题 1. 精度处理(高精度.实数处理.各种浮点类型处理方法) 2. 组合数学问题(斐波那契数列.第二类数.卡特兰数.Polya原理.排列组合计数.加法原理与乘法原理) 3. 进制问题(特定二进 ...

  8. 北京化工大学2022-2023-1 ACM集训队每周程序设计竞赛(11)题解

    文章目录 问题 A: 起名废柴 问题 B: 可视消息 问题 C: 虫洞旅行 问题 D: 整数化简分析 问题 E: 向量选取 问题 F: 勤劳的扫地机器人 问题 A: 起名废柴 根据题意,判断字符串 T ...

  9. 模拟——生活大爆炸版石头剪刀布(洛谷 P1328)

    模拟算法指的是让程序完整地按照题目叙述的方式运行得到答案! 此题选自洛谷P1328 用if或是switch等来判断,情况实在太多了,特别麻烦. 所以这里采用取巧的办法! 由于是两个人,所以用二维数组存 ...

最新文章

  1. css BEM书写规范
  2. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...
  3. 碎片Fragment
  4. Python应用实战案例-一文通读时间序列在Python中的应用
  5. 谈谈离散卷积和卷积神经网络
  6. [python] 基于k-means和tfidf的文本聚类代码简单实现
  7. Rxjs takeWhile 和 filter 操作符的区别
  8. 国产数据库存储引擎X-Engine的科研之路
  9. 华为Mate 30 Pro全新配色曝光:“赤茶橘”颜值超高
  10. 汉语中的通用量词:个,块
  11. 腾讯音乐12月初赴美IPO,250亿美元被低估还是高估?
  12. 如何用仅用C语言判断编译器的大小端
  13. 经济危机离你并不遥远!
  14. 计算机专业毕设太难做不出来怎么办?
  15. PMP(第六版)中的各种矩阵表格
  16. Xplorasia(畅怀旅游)选择云呐资产管理为企业降本增效
  17. 【架构师】零基础到精通——架构演进
  18. 老macbook升级新版本(Big sur、Monterey)
  19. 漫谈机器学习经典算法—增强学习与马尔科夫决策过程
  20. 【LeetCode】378. 有序矩阵中第 K 小的元素(js 实现)

热门文章

  1. 【操作系统】进程间的通信——管道
  2. 2022-2028全球与中国体脂秤市场现状及未来发展趋势
  3. 聊天机器人 AIML文件 srai标签解释(五)
  4. 人工智能数学基础--不定积分2:利用换元法求不定积分
  5. selenium必应搜索,获取标题以及url
  6. css网站样式表是什么,什么是css样式表
  7. vb.net画上下左右方向的箭头
  8. 华三 mstp-路由聚合-ospf-三层聚合 入门全套实验
  9. Generating Images from Captions with Attention
  10. 微信群打卡小程序_微信打卡小程序上线,你会用吗?