大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,

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

输入格式:

输入第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
求不会超时的python版本
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;char MaxCh(int * win){if(win[0]>=win[1] && win[0]>=win[2]) return 'B';if(win[2]>=win[0] && win[2]>=win[1]) return 'C';return 'J';
}int main() {int N;scanf("%d\n",&N);int result[2][3]={{0},{0}};int winnum[2][3]={{0},{0}};char ans[256]={0};ans['C']= 2;ans['J']= 1;ans['B']= 0;while(N--){char cp1,cp2;scanf("%c %c\n",&cp1,&cp2);int r = ans[cp1] - ans[cp2];if(r==0){++result[0][1];++result[1][1];}else if(r== 1 || r== -2){++winnum[0][ans[cp1]];++result[0][0];++result[1][2];}else{++winnum[1][ans[cp2]];++result[0][2];++result[1][0];}}printf("%d %d %d\n",result[0][0],result[0][1],result[0][2]);printf("%d %d %d\n",result[1][0],result[1][1],result[1][2]);printf("%c %c\n",MaxCh(winnum[0]),MaxCh(winnum[1]));return 0;
}

转载于:https://www.cnblogs.com/madao1024/p/4044362.html

Basic Level 1018. 锤子剪刀布 (20)相关推荐

  1. PAT (Basic Level) 1018 锤子剪刀布 (20 point(s))

    #include <bits/stdc++.h> using namespace std;// 转换字符为数字 int change(char x){if(x == 'B') return ...

  2. 「PAT乙级真题解析」Basic Level 1018 锤子剪刀布 (问题分析+完整步骤+伪代码描述+提交通过代码)

    乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范.从小白开始逐步掌握用编程解决问题. PAT乙级BasicLevelPractice 1018 锤子剪刀布 问题分析 题目要求统计 ...

  3. C++学习之路 | PTA乙级—— 1018 锤子剪刀布 (20分)(精简)

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

  4. (python 3)1018 锤子剪刀布 (20分)

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

  5. PAT 1018 锤子剪刀布 (20分) C语言实现

    1018 锤子剪刀布 (20分) 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第 1 行给出正整数 N(≤10 ​5 ​​ ),即双方交锋 ...

  6. 1018 锤子剪刀布 (20 分)(算法分析+代码实现)

    1018 锤子剪刀布 (20 分) 题目链接 算法分析 对于每组数据,都用对应的变量存储结果 代码实现 #include<bits/stdc++.h> using namespace st ...

  7. 编程题目: PAT 1018. 锤子剪刀布 (20)

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

  8. 1018 锤子剪刀布 (20 分)-测试点1,测试点2,测试点4

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

  9. 1018 锤子剪刀布 (20)(20 分)

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

最新文章

  1. Winform开发的界面处理优化
  2. Android中Parcel的分析和使用
  3. cxGRID能否对模板进行保存
  4. 计蒜客NOIP模拟D1T2
  5. scaleType属性设置!
  6. linux路由内核实现分析(四)---路由缓存机制(4)
  7. android 编程 输入矩阵,Android中Matrix的pre post set方法理解
  8. 【Mark工具】一些好用的图片标注工具
  9. 实验三 译码器及其应用
  10. creat是什么意思中文翻译_CREAT是什么意思中文翻译
  11. Jetpack Compose - CircularProgressIndicator、LinearProgressIndicator
  12. vijos-1199,核弹危机
  13. echarts添加背景图
  14. 视音频编解码技术零基础学习方法
  15. php制作简单的用户注册登录
  16. WEBRTC RFC5766-TURN协议
  17. permutation importance
  18. java 分权分域什么意思_基于云平台的分权分域系统分析与设计
  19. 计算机无法选择字体,电脑系统字体无法修改字体大小怎么办?
  20. python实现动态壁纸_流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸

热门文章

  1. 为什么中国程序员水平一直上不了层次?无非是这些原因!
  2. Cookie或将被替换!Chrome工程师提议新型HTTP状态管理协议
  3. Java的时间为何从1970年1月1日开始
  4. eclipse再次导入已经逻辑删除的工程,IDE提示已存在,无法导入的解决办法
  5. springboot com.mysql.cj.exceptions.CJException: Access denied for user 'root'@'localhost
  6. c 多语言切换dll,【图片】老C教学之——给你的程序添加多语言支持【dll】【vb吧】_百度贴吧...
  7. 通达信高级服务器最新配置文件,通达信移动证后台服务器配置.doc
  8. 漫画|解读电气安全“十不准”
  9. 高低配系统直流控制电源技术知识点
  10. 数据中心进行数字化转型的2019年