[刷题] 1018 锤子剪刀布 (20分)
思路
- jiawin、yiwin分别表示甲乙赢的次数
- s和t分别表示每一次甲乙给出的手势
- jia、yi记录获胜手势的次数
- maxjia和maxyi分别表示甲乙获胜次数最多的手势所对应的下标(012分别表示BCJ)
- 枚举每一次甲乙手势的胜负结果,累加到jiawin和yiwin中,输出结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #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; } |
参考
https://www.liuchuo.net/archives/539
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· C# 开发工具Visual Studio 介绍
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程