1018石头剪刀布(模拟)
1018. 锤子剪刀布 (20)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
输入格式:
输入第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石头剪刀布(模拟)相关推荐
- 【NOIP2014】生活大爆炸版石头剪刀布 模拟
就是简单模拟一下,主要是理清思路. #include<iostream> #include<cstdio> using namespace std; bool f[10][10 ...
- NOIP2014 Day1T1生活大爆炸版石头剪刀布 模拟
打个表模拟一下就好了.(似乎用0~n-1)会好写? AC代码如下: #include<iostream> #include<cstdio> using names ...
- c语言猜拳游戏石头剪刀布,模拟剪刀石头布猜拳游戏
#include #include #include using namespace std; //猜拳类 class CaiQuan { public: CaiQuan() //构造函数,数值初始化 ...
- 【题解】洛谷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} ...
- 银行排队叫号系统的模拟
模拟20秒的输出结果: --------模拟开始-------- 初始化用户: 普通客户 进入排队, 编号:1000 VIP客户 进入排队, 编号:1001 普通客户 进入排队, 编号:1002 ...
- NOIP大纲整理:(零)历年2000-2016NOIP提高组题目分析
年份 题目名称 考查内容 难度 2000-2016年NOIP提高组复赛题目 2000-A 进制转换 初等代数,找规律 ★ 2000-B 乘积最大 资源分配DP ★★★ 2000-C 单词接龙 DF ...
- NOIP复赛复习(一)常见问题与常用策略
数学类问题 1. 精度处理(高精度.实数处理.各种浮点类型处理方法) 2. 组合数学问题(斐波那契数列.第二类数.卡特兰数.Polya原理.排列组合计数.加法原理与乘法原理) 3. 进制问题(特定二进 ...
- 北京化工大学2022-2023-1 ACM集训队每周程序设计竞赛(11)题解
文章目录 问题 A: 起名废柴 问题 B: 可视消息 问题 C: 虫洞旅行 问题 D: 整数化简分析 问题 E: 向量选取 问题 F: 勤劳的扫地机器人 问题 A: 起名废柴 根据题意,判断字符串 T ...
- 模拟——生活大爆炸版石头剪刀布(洛谷 P1328)
模拟算法指的是让程序完整地按照题目叙述的方式运行得到答案! 此题选自洛谷P1328 用if或是switch等来判断,情况实在太多了,特别麻烦. 所以这里采用取巧的办法! 由于是两个人,所以用二维数组存 ...
最新文章
- css BEM书写规范
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...
- 碎片Fragment
- Python应用实战案例-一文通读时间序列在Python中的应用
- 谈谈离散卷积和卷积神经网络
- [python] 基于k-means和tfidf的文本聚类代码简单实现
- Rxjs takeWhile 和 filter 操作符的区别
- 国产数据库存储引擎X-Engine的科研之路
- 华为Mate 30 Pro全新配色曝光:“赤茶橘”颜值超高
- 汉语中的通用量词:个,块
- 腾讯音乐12月初赴美IPO,250亿美元被低估还是高估?
- 如何用仅用C语言判断编译器的大小端
- 经济危机离你并不遥远!
- 计算机专业毕设太难做不出来怎么办?
- PMP(第六版)中的各种矩阵表格
- Xplorasia(畅怀旅游)选择云呐资产管理为企业降本增效
- 【架构师】零基础到精通——架构演进
- 老macbook升级新版本(Big sur、Monterey)
- 漫谈机器学习经典算法—增强学习与马尔科夫决策过程
- 【LeetCode】378. 有序矩阵中第 K 小的元素(js 实现)