1018 锤子剪刀布 (20 分)

简介: 1018 锤子剪刀布 (20 分)

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

这题思路比较简单,用模拟的方法就能做出。只是这样做用到很多判断。

用条件运算符  (例如(a>b? a :b)   )可以缩短代码长度,但是会降低代码可读性。

 

#include<iostream>
using namespace std;
struct play
{
  int win;
  int lose;
  int tie;
};
char cc(int ab, int ac, int aj);
int main()
{
  int n;
  cin >> n;
  play A = { 0,0,0 };
  play B = { 0,0,0 };
  char player1, player2;
  int ab = 0, aj = 0, ac = 0;
  int bb = 0, bj = 0, bc = 0;
  for (int i = 0; i < n; i++) {
    cin >> player1>>player2;
    if (player1 == player2) {
      A.tie++;
      B.tie++;
    }
    else if (player1 == 'C' && player2 == 'J' ||
      player1 == 'J' && player2 == 'B' ||
      player1 == 'B' && player2 == 'C') {
      A.win++;
      player1 == 'C' ? (ac++) : (player1 == 'B' ? (ab++) : (aj++));
      B.lose++;
    }
    else {
      A.lose++;
      (player2 == 'C') ? (bc++) : (player2 == 'B' ? (bb++) : (bj++));
      B.win++;
    }
  }
 
  cout <<A.win<< " "<<A.tie << " "<<A.lose<<endl;
  cout <<B.win << " "<<B.tie<< " "<<B.lose<<endl;
  cout << cc(ab,ac,aj)<<" "<<cc(bb,bc,bj);
  return 0;
}
char cc(int ab, int ac, int aj) {
  if (ab >= ac && ab >= aj) {
    return 'B';
  }
  if (ac > ab && ac >= aj) {
    return 'C';
  }
  if (aj > ac && aj > ab) {
    return 'J';
  }
}
相关文章
|
C++
【PTA】​L1-006 连续因子​(C++)
【PTA】​L1-006 连续因子​(C++)
467 0
【PTA】​L1-006 连续因子​(C++)
|
运维 架构师 Linux
2024年阿里云ACE复习计划
作者目前已考取阿里云的ACP,可以说对阿里云的产品有了基础的了解,出于个人能力规划,还是计划继续备考ACE考试,但是重点不一定是突出在考试上,而是希望通过学习的过程能够查漏补缺,强化自己的云计算架构设计和实践能力,以及对复杂业务场景的解决能力。撰写本系列文的主要目的在于记录从零起步直至全面备战ACE的心路历程,这既是对未来自己的一个珍贵回顾,也是向有志于此道的同行者分享这一路上所积累的宝贵经验和实战心得,期待我们都能在回望时,清晰看见这段自我蜕变和成长的轨迹。
|
前端开发 Java 测试技术
基于Spring boot的图书馆图书借阅管理系统的设计与实现
基于Spring boot的图书馆图书借阅管理系统的设计与实现
3352 0
|
IDE Java 数据库连接
IntelliJ IDEA安装使用教程——社区免费版——附中文插件安装
IntelliJ IDEA安装使用教程——社区免费版——附中文插件安装
2721 0
|
7月前
|
关系型数据库 MySQL OLAP
无缝集成 MySQL,解锁秒级 OLAP 分析性能极限,完成任务可领取三合一数据线!
通过 AnalyticDB MySQL 版、DMS、DTS 和 RDS MySQL 版协同工作,解决大规模业务数据统计难题,参与活动完成任务即可领取三合一数据线(限量200个),还有机会抽取蓝牙音箱大奖!
|
存储 C++
【PTA】L1-039 古风排版(C++)
【PTA】L1-039 古风排版(C++)
157 1
|
11月前
|
前端开发 JavaScript 开发者
Async 和 Await 是基于 Promise 实现
【10月更文挑战第30天】Async和Await是基于Promise实现的语法糖,它们通过简洁的语法形式,借助Promise的异步处理机制,为JavaScript开发者提供了一种更优雅、更易于理解和维护的异步编程方式。
236 1
|
弹性计算 负载均衡 监控
阿里云aca考试大纲 分享阿里云aca题库及答案
现在云计算云服务是高新技术的重要发展发现之一,阿里云长期占有国内的最大市场份额,因此考取阿里云认证也成为想入行的技术人员努力争取的目标,今天就分享阿里云aca题库及答案.希望能帮更多人实现理想。
4008 1
阿里云aca考试大纲 分享阿里云aca题库及答案
|
10月前
|
人工智能 前端开发 项目管理
高效实用的设计协作平台有哪些?5款测评
设计团队常面临沟通不畅、文件版本混乱等问题,严重影响创作效率。推荐几款实用工具帮助解决上述问题。
301 3
高效实用的设计协作平台有哪些?5款测评