写在前面

  • 使用整型变量、字符定义所有值

    • 冗余,繁琐,易出错
    • 空格属于字符,读取处理比较麻烦
  • map 封装,计算最优手势
  • 计数甲、乙生产手势
  • 题目不难,输入处理耗费部分时间
    • 普通水平,10分钟内a掉

测试用例

input:
10
C J
J B
C B
B B
B C
C C
C B
J B
B C
J Joutput:
5 3 2
2 3 5
B B

ac代码

  • 个人代码(推荐,处理字符串)
#include <map>
#include <iostream>
using namespace std;int main()
{int n;scanf("%d\n", &n);int js=0, ys=0;string bcj;map<char,int> jm, ym;for(int i=0; i<n; i++){getline(cin, bcj);if(((bcj[0]=='C')&&(bcj[2]=='J'))||((bcj[0]=='J')&&(bcj[2]=='B'))||((bcj[0]=='B')&&(bcj[2]=='C'))){js++;jm[bcj[0]] += 1;}if(((bcj[0]=='J')&&(bcj[2]=='C'))||((bcj[0]=='B')&&(bcj[2]=='J'))||((bcj[0]=='C')&&(bcj[2]=='B'))){ys++;ym[bcj[2]] += 1;}}//    printf("%d %d %d\n", jm['B'], jm['C'], jm['J']);
//    printf("%d %d %d\n", ym['B'], ym['C'], ym['J']);printf("%d %d %d\n", js, n-ys-js, ys);printf("%d %d %d\n", ys, n-ys-js, js);printf("%c %c", jm['B']>=jm['C'] ? (jm['B']>=jm['J'] ? 'B' : 'J') : (jm['C']>=jm['J'] ? 'C' : 'J'),ym['B']>=ym['C'] ? (ym['B']>=ym['J'] ? 'B' : 'J') : (ym['C']>=ym['J'] ? 'C' : 'J'));return 0;
}
  • 参考代码(处理字符)
#include <iostream>
using namespace std;
int main() {int n;cin >> n;int jiawin = 0, yiwin = 0;int jia[3] = {0}, yi[3] = {0};for (int i = 0; i < n; i++) {char s, t;cin >> s >> t;if (s == 'B' && t == 'C') {jiawin++;jia[0]++;} else if (s == 'B' && t == 'J') {yiwin++;yi[2]++;} else if (s == 'C' && t == 'B') {yiwin++;yi[0]++;} else if (s == 'C' && t == 'J') {jiawin++;jia[1]++;} else if (s == 'J' && t == 'B') {jiawin++;jia[2]++;} else if (s == 'J' && t == 'C') {yiwin++;yi[1]++;}}cout << jiawin << " " << n - jiawin - yiwin << " " << yiwin << endl << yiwin << " " << n - jiawin - yiwin << " " << jiawin << endl;int maxjia = jia[0] >= jia[1] ? 0 : 1;maxjia = jia[maxjia] >= jia[2] ? maxjia : 2;int maxyi = yi[0] >= yi[1] ? 0 : 1;maxyi = yi[maxyi] >= yi[2] ? maxyi : 2;char str[4] = {"BCJ"};cout << str[maxjia] << " " << str[maxyi];return 0;
}

1018 锤子剪刀布 (20 分)(附注释,逻辑分析)相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 1018 锤子剪刀布 (20分) 测试点五问题

    我真是踩坑大人,阴沟里踩得最准 代码调试运行各种检查一直正常,测试点五死活过不去 最后看了柳神的代码一部分一部分模仿结果!!发现之前的代码出错的原因居然是 统计所有次数的时候我是用的是+=1,柳神用的 ...

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

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

  8. C语言满分代码:1018 锤子剪刀布 (20分)(解题报告)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记 ...

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

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

  10. PAT 1018 锤子剪刀布 (20 分)

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

最新文章

  1. Linux下如何查看文档的内容
  2. OpenCV 图像加载和显示
  3. 如何使用:before和:after伪元素?
  4. 机器人运动学_不同D-H矩阵的对比
  5. Wince 隐藏TASKBAR的方法
  6. 【Linux指标】内存篇
  7. Java - Jackson JSON Java Parser API
  8. 聊聊Tomcat的架构设计
  9. JS语法字典---网友总结
  10. softmax logistic loss详解
  11. python从爬虫到数据分析项目_零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!...
  12. 信息学奥赛一本通 1321:【例6.3】删数问题(Noip1994) | 洛谷 P1106 删数问题
  13. 3.11 SE11创建搜索帮助
  14. 3.2.1 封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)(转载)
  15. 【NOI OpenJudge】【1.3】编程基础之算术表达式与顺序执行
  16. JAMA:Java矩阵包
  17. 关于 springboot 的自动配置
  18. 深入浅出mysql第三版pdf百度云,工作感悟
  19. HDLBits—Exams/ece241 2014 q7a
  20. Java 实现数字全排列

热门文章

  1. 云点播web端上传_Web 播放端 SDK
  2. oracle dblink调用,oracle dblink 调用序列
  3. 【汇正财经】大盘反弹
  4. Unity+ Photon服务器实时对战游戏——Photon服务器介绍(一)
  5. eMMC(五)——总线数据流
  6. element-ui单选框无法默认选中
  7. boolean类型和int类型
  8. 学习使用 mockjs
  9. java 接口开发时间_这35个接口,用Java开发,一般要多少天?一天可以完成多少个...
  10. 解决AX210在ubuntu20.04下找不到WIFI设置的问题