资源限制
时间限制:1.0s 内存限制:128.0MB


问题描述
  石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势:
  斯波克:《星际迷航》主角之一。
  蜥蜴人:《星际迷航》中的反面角色。
  这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果


现在,小A和小B尝试玩这种升级版的猜拳游戏。已知他们的出拳都是有周期性规律的,但周期长度不一定相等。例如:如果小A以“石头-布-石头-剪刀-蜥蜴人-斯波克”长度为6的周期出拳,那么他的出拳序列就是“石头-布-石头-剪刀-蜥蜴人-斯波克-石头-布-石头-剪刀-蜥蜴人-斯波克-……”,而如果小B以“剪刀-石头-布-斯波克-蜥蜴人”长度为5的周期出拳,那么他出拳的序列就是“剪刀-石头-布-斯波克-蜥蜴人-剪刀-石头-布-斯波克-蜥蜴人-……”
  已知小A和小B一共进行N次猜拳。每一次赢的人得1分,输的得0分;平局两人都得0分。现请你统计N次猜拳结束之后两人的得分。
输入格式
  第一行包含三个整数:N,NA,NB,分别表示共进行N次猜拳、小A出拳的周期长度,小B出拳的周期长度。数与数之间以一个空格分隔。
  第二行包含NA个整数,表示小A出拳的规律,第三行包含NB个整数,表示小B出拳的规律。其中,0表示“剪刀”,1表示“石头”,2表示“布”,3表示“蜥蜴人”, 4表示“斯波克”。数与数之间以一个空格分隔。


输出格式
  输出一行, 包含两个整数,以一个空格分隔,分别表示小A、小B的得分。
样例输入
10 5 6
0 1 2 3 4
0 3 4 2 1 0
样例输出
6 2


样例输入
9 5 5
0 1 2 3 4
1 0 3 2 4
样例输出
4 4


数据说明
  对于100%的数据,0 < N ≤ 200,0 < NA ≤ 200, 0 < NB ≤ 200。


思路解析:

  • 先把A得分和A失分(即B得分)的情况写出来
  • 找出相同点和不同点
  • 找出相同点中的不同点

举例说明:当A[X]-B[Y]=-3的时候,在A得分的情况下:A[X]=0,即当同时满足A[X]-B[Y]=-3,且A[X]=0,这两个条件时,即A得分。

源程序:

#include<iostream>
using namespace std;
#define maxsize 10000
int a[maxsize];
int b[maxsize];
void init(int NA, int NB)//输入数据
{for (int i = 0; i < NA; i++)cin >> a[i];for (int i = 0; i < NB; i++)cin >> b[i];
}
void grade(int N,int NA,int NB)//输出两人的分数
{int sum1=0, sum2=0;int x, y, item;for (int i = 0; i < N; i++)//此处是猜拳N次{x = i%NA;//利用求余即可获得对应的编号y = i%NB;item = a[x] - b[y];//两者相见,根据上图所示,把A得分的条件和失分的条件写清楚即可。if (item > 0){if (item == 2 || (item == 1 && a[x] == 4) || (item == 3 && a[x] == 3))//此处为B得分的情况,sum2++;elsesum1++;}if (item < 0){if (item == -2 || (item == -3 && a[x] == 0) || (item == -1 && a[x]  == 3))//A得分sum1++;elsesum2++;}}cout << sum1 << " " << sum2;
}
int main()
{int N, NA, NB;cin >> N >> NA >> NB;init(NA, NB);grade(N, NA, NB);
}

评测记录:

补充:

本题N指的是猜拳的次数,我开始的时候,以为N是猜拳的轮数,然后感觉和之前学习队列时候的题目差不多,要用到循环队列。后来发现测试的时候不对,又重新读了一遍题目,发现N是次数,好家伙这样更简单了许多。然后我就想着这样也没意思,我要做出比较真实的猜拳,于是我把题目改了一下:

  • N为进行的轮数
  • 两人出拳没有规律,即加入时间种子,根据系统时间产生随机数

最近我会把这道修改后的题目发表出来,感兴趣的可以看一下。

试题 算法训练 生活大爆炸版石头剪刀布相关推荐

  1. OI-wiki 算法基础 模拟 NOIP2014 生活大爆炸版石头剪刀布 python

    OI-wiki 算法基础 模拟 https://oi-wiki.org/basic/simulate/ 习题答案 NOIP2014 生活大爆炸版石头剪刀布 python https://uoj.ac/ ...

  2. 2021-08-14 《 生活大爆炸版石头剪刀布》P1328

     原题描述: 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏. 升级 ...

  3. 蓝桥杯试题 算法训练 Have You Ever Heard About the Word?

    试题 算法训练 Have You Ever Heard About the Word? 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 一个字符串的子串是该字符串的一段连续子序列,如 ...

  4. 【NOIP2014】生活大爆炸版石头剪刀布

    [NOIP2014]生活大爆炸版石头剪刀布 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第 8 集中出现了一种石头剪 ...

  5. noip2014 生活大爆炸版 石头剪刀布 (模拟)

    P1905生活大爆炸版 石头剪刀布 Accepted 标签:模拟NOIP提高组2014 描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生 ...

  6. 【洛谷】P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布(详细代码)

    [洛谷]石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏. 1.[题目描述] 2 ...

  7. C++试题 算法训练 相邻数对、画图

    试题 算法训练 相邻数对 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示 ...

  8. 蓝桥杯试题 算法训练 印章

    试题 算法训练 印章 C/C++ 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 ...

  9. 试题 算法训练 翻转旋转变换

    试题 算法训练 翻转旋转变换 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 现在有一张n行m列的由" ...

最新文章

  1. Spartan-6的MCB模块、GTP模块、PCIe端点模块
  2. “智能微尘”:助推物联网应用的关键
  3. 内容分发网络(CDN) 是什么
  4. mysql innodb和myisam_Mysql InnoDB和MyISAM的区别
  5. 标贝科技推出「留声机」TTS方案,高还原、个性化声效提升交互意愿
  6. CDC::Arc 汉化参数明说及举例
  7. 经典C语言编程100例——题目+答案代码(1-10)
  8. 自己做量化交易软件(30)小白量化实战4--动于阴末止于阳极
  9. 关于 java中的换行符
  10. 读取ISO15031协议数据流
  11. 可视化IDE低代码开发平台
  12. 【Sass/SCSS】我花4小时整理了的Sass的函数
  13. line-height绝对值和相对值的区别
  14. 前端程序员必须要懂的 UI 设计知识
  15. 我们把AI画图玩坏了,这60张图片又惊悚又可爱
  16. 电话销售技巧和话术(转)
  17. spring data jpa使用详解(推荐)
  18. 什么设备升级android9,三星设备安卓9.0升级路线图更新:共30款
  19. Windows10家庭版本开启Hyper-v虚拟机
  20. 学习JavaScript之前,这些知识你应该知道?

热门文章

  1. ASP.NET与.NET Framework和C#的关系
  2. 响铃:暴跌后仅有8倍PE,趣店为何还在跌跌不休?
  3. 苹果地图错误将驾车者导向沙漠:偏离70公里
  4. Hive学习笔记——parse
  5. C# 获取汉字拼音首字母(修正X问题,真正修正)
  6. 用深度学习做命名实体识别(二):文本标注工具brat
  7. 设计模式——观察者模式详解
  8. 计算机房设备搬迁协议,设备搬迁协议.docx
  9. 极客日报第 53 期:抖音将代替拼多多成为春晚独家红包合作伙伴;高通正研发 8cx 升级版处理器,对标苹果 M1;DuckDuckGo 日查询量首次突破 1 亿
  10. 试用一款开源的轻量级3D建模软件《Dust3D》