C++模拟与高精度——生活大爆炸版石头剪刀布
题目描述
石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种石头剪刀布的升级版游戏。
升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势:
斯波克:《星际迷航》主角之一。
蜥蜴人:《星际迷航》中的反面角色。
这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果。
现在,小 A 和小 B 尝试玩这种升级版的猜拳游戏。已知他们的出拳都是有周期性规律的,但周期长度不一定相等。例如:如果小 A 以“石头-布-石头-剪刀-蜥蜴人-斯波克”长度为 6的周期出拳,那么他的出拳序列就是“石头-布-石头-剪刀-蜥蜴人-斯波克-石头-布-石头-剪刀-蜥蜴人-斯波克-......”,而如果小 B 以“剪刀-石头-布-斯波克-蜥蜴人”长度为 5 的周期出拳,那么他出拳的序列就是“剪刀-石头-布-斯波克-蜥蜴人-剪刀-石头-布-斯波克-蜥蜴人-......”
已知小 A 和小 B 一共进行 N次猜拳。每一次赢的人得 1 分,输的得 0 分;平局两人都得 00分。现请你统计 N 次猜拳结束之后两人的得分。
输入格式
第一行包含三个整数:N,NA,NB,分别表示共进行 N次猜拳、小 A 出拳的周期长度,小 B 出拳的周期长度。数与数之间以一个空格分隔。
第二行包含 NA 个整数,表示小 A 出拳的规律,第三行包含 NB 个整数,表示小 B 出拳的规律。其中,0表示“剪刀”,1 表示“石头”,2 表示“布”,3 表示“蜥蜴人”,4表示“斯波克”。数与数之间以一个空格分隔。
输出格式
输出一行,包含两个整数,以一个空格分隔,分别表示小 A、小 B 的得分。
分析
我用的最简单的方法就是使用if语句把每种情况都列出来。
代码
#include <bits/stdc++.h>
using namespace std;
int a1[201], b1[201];
int main() {int n, na, nb;int a2 = 0, b2 = 0;int i= 0,j=0;cin >> n >> na >> nb;for (int i = 1; i <= na; i++) {cin >> a1[i];}for (int i = 1; i <= nb; i++) {cin >> b1[i];}for (int a = 1; a <= n; a++) {i++;j++;if (i > na) {i = 1;}if (j > nb) {j = 1;}if (a1[i] == 0 && b1[j] == 1)b2++;if (a1[i] == 0 && b1[j] == 2)a2++;if (a1[i] == 0 && b1[j] == 3)a2++;if (a1[i] == 0 && b1[j] == 4)b2++;if (a1[i] == 1 && b1[j] == 0)a2++;if (a1[i] == 1 && b1[j] == 2)b2++;if (a1[i] == 1 && b1[j] == 3)a2++;if (a1[i] == 1 && b1[j] == 4)b2++;if (a1[i] == 2 && b1[j] == 1)a2++;if (a1[i] == 2 && b1[j] == 0)b2++;if (a1[i] == 2 && b1[j] == 3)b2++;if (a1[i] == 2 && b1[j] == 4)a2++;if (a1[i] == 3 && b1[j] == 1)b2++;if (a1[i] == 3 && b1[j] == 2)a2++;if (a1[i] == 3 && b1[j] == 0)b2++;if (a1[i] == 3 && b1[j] == 4)a2++;if (a1[i] == 4 && b1[j] == 1)a2++;if (a1[i] == 4 && b1[j] == 2)b2++;if (a1[i] == 4 && b1[j] == 3)b2++;if (a1[i] == 4 && b1[j] == 0)a2++;}cout << a2 << " " << b2;return 0;
}
C++模拟与高精度——生活大爆炸版石头剪刀布相关推荐
- noip2014 生活大爆炸版 石头剪刀布 (模拟)
P1905生活大爆炸版 石头剪刀布 Accepted 标签:模拟NOIP提高组2014 描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生 ...
- OI-wiki 算法基础 模拟 NOIP2014 生活大爆炸版石头剪刀布 python
OI-wiki 算法基础 模拟 https://oi-wiki.org/basic/simulate/ 习题答案 NOIP2014 生活大爆炸版石头剪刀布 python https://uoj.ac/ ...
- 洛谷 P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 题解 C/C++
思路如下 方法一:if else 直接模拟 方法二:初始化一个二维数组 输和平记为0,赢记为1 直接索引 //P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 //#define LO ...
- [普及练习场] 生活大爆炸版石头剪刀布
目录 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 思路 输入 操作 输出 AC代码 总结 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜 ...
- 【NOIP2014】生活大爆炸版石头剪刀布
[NOIP2014]生活大爆炸版石头剪刀布 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第 8 集中出现了一种石头剪 ...
- 【洛谷】P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布(详细代码)
[洛谷]石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏. 1.[题目描述] 2 ...
- 洛谷 P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
题目链接:P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布 ...
- 2021-08-14 《 生活大爆炸版石头剪刀布》P1328
原题描述: 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏. 升级 ...
- 模拟——生活大爆炸版石头剪刀布(洛谷 P1328)
模拟算法指的是让程序完整地按照题目叙述的方式运行得到答案! 此题选自洛谷P1328 用if或是switch等来判断,情况实在太多了,特别麻烦. 所以这里采用取巧的办法! 由于是两个人,所以用二维数组存 ...
最新文章
- Redis的Pub/Sub模式
- Python-OpenCV 处理视频(四): 运动检测
- xml 转map dom4j
- B. Quasi Binary
- python合并多个excel的某些字段_python合并多个excel文件的示例
- c语言猜四位数游戏猜10次,C语言猜数字游戏--随机生成4个不相同的数字从小到大排序,用户开始游戏,如果用户猜对数字和数字对应的位置,界面回馈A,如果数字正确位置不正确,则回馈B...
- java int转bitmap_Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码...
- 分布式跟踪系统:Zipkin
- Demo源码放送:打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
- 如何零代码制作日报、周报管理系统?
- Photoshop插件--创建中间调通道蒙板--脚本开发--PS插件
- 解释什么是计算机硬件和软件,什么叫软件,什么叫硬件?(要详细)
- java初级程序员成长之路
- LINUX MPEG4 DVR源代码,还包括一个可以跨平台运行的MPEG4 播放器(需要XVID与SDL开发库包)
- 【JavaScript联系练习】实现一个打点计时器
- ie浏览器的标准模式与怪异模式的设置与区分方法
- 实验05 视图的创建与管理
- oracle中重做日志损坏,重做日志文件损坏的恢复笔记
- 第二周 Ubuntu的简单介绍与使用
- 各公司 Java 面试题目整理(基础+高级+算法+数据库)
热门文章
- jquery 实现表格搜索功能
- EP2S180F1020I4N小知识
- Py_FontMaker和GUI_Py_FontMaker制作嵌入式字库工具,支持内部和外部字库,支持LVGL和非LVGL,支持hash查表,支持RLE压缩,支持图标字体和emoji混合消息显示
- 雷军顺为资本投资清单
- Z spirit 加强版 可做平安易贷 借贷宝 uber
- self参数 - __ init__ ()方法 super(Net, self).__init__()是什么
- 最受欢迎的工作城市根本就不是上海北京!
- uniapp 使用editor编辑器实现 发布文章的功能
- 钢笔工具使用——路径终极教程
- hpZ600怎么安装Linux系统,升级更强劲 惠普新Z600工作站完全评测