题目大意

小A和小B,要进行 \(N\) 次猜拳,每次按照一定周期出拳,胜负情况如下:



求出小A和小B分别赢了几次。

思路

枚举 \(N\) 次猜拳,每次比较 \(a[powera]\) 与 \(b[powerb]\) (poewra 与 powerb 是 a 和 b 数组的索引,详见代码)。

CODE

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[2005], b[2005];
  4. int main(){
  5. int n, na, nb, ansa = 0, ansb = 0;
  6. cin >> n >> na >> nb;
  7. for (int i = 1; i <= na; i++) {
  8. cin >> a[i];
  9. }
  10. for (int i = 1; i <= nb; i++) {
  11. cin >> b[i];
  12. }
  13. int powera = 1, powerb = 1;
  14. for (int i = 1; i <= n; i++) {
  15. if (powera > na) { //超过周期长度的特判
  16. powera = 1;
  17. }
  18. if (powerb > nb) {
  19. powerb = 1;
  20. }
  21. if (a[powera] == 0) {
  22. if (b[powerb] == 1) {
  23. ansb++;
  24. }
  25. if (b[powerb] == 2) {
  26. ansa++;
  27. }
  28. if (b[powerb] == 3) {
  29. ansa++;
  30. }
  31. if (b[powerb] == 4) {
  32. ansb++;
  33. }
  34. }
  35. if (a[powera] == 1) {
  36. if (b[powerb] == 0) {
  37. ansa++;
  38. }
  39. if (b[powerb] == 2) {
  40. ansb++;
  41. }
  42. if (b[powerb] == 3) {
  43. ansa++;
  44. }
  45. if (b[powerb] == 4) {
  46. ansb++;
  47. }
  48. }
  49. if (a[powera] == 2) {
  50. if (b[powerb] == 0) {
  51. ansb++;
  52. }
  53. if (b[powerb] == 1) {
  54. ansa++;
  55. }
  56. if (b[powerb] == 3) {
  57. ansb++;
  58. }
  59. if (b[powerb] == 4) {
  60. ansa++;
  61. }
  62. }
  63. if (a[powera] == 3) {
  64. if (b[powerb] == 0) {
  65. ansb++;
  66. }
  67. if (b[powerb] == 1) {
  68. ansb++;
  69. }
  70. if (b[powerb] == 2) {
  71. ansa++;
  72. }
  73. if (b[powerb] == 4) {
  74. ansa++;
  75. }
  76. }
  77. if (a[powera] == 4) {
  78. if (b[powerb] == 0) {
  79. ansa++;
  80. }
  81. if (b[powerb] == 1) {
  82. ansa++;
  83. }
  84. if (b[powerb] == 2) {
  85. ansb++;
  86. }
  87. if (b[powerb] == 3) {
  88. ansb++;
  89. }
  90. }
  91. powera++;
  92. powerb++;
  93. }
  94. cout << ansa << " " << ansb << endl;
  95. return 0;
  96. }

洛谷 P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布的更多相关文章

  1. 【模拟】洛谷 P1328 NOIP2014提高组 day1 T1 生活大爆炸版石头剪刀布

    把所有情况打表,然后随便暴力. #include<cstdio> using namespace std; int n,an,bn,p1,p2; ],b[]; ][]; int ans1, ...

  2. 【DFS】【最短路】【spfa】【BFS】洛谷P2296 NOIP2014提高组 day2 T2 寻找道路

    存反图,从终点dfs一遍,记录下无法到达的点. 然后枚举这些记录的点,把他们的出边所连的点也全部记录. 以上这些点都是无法在最短路中出现的. 所以把两个端点都没被记录的边加进图里,跑spfa.BFS什 ...

  3. 【暴力】洛谷 P2038 NOIP2014提高组 day2 T1 无线网络发射器选址

    暴力枚举. #include<cstdio> #include<algorithm> using namespace std; ][],d,n,x,y,z,num,ans=-; ...

  4. 【前缀和】【前缀MAX】洛谷 P1351 NOIP2014提高组 day1 T2 联合权值

    不难发现,树中与某个点距离为2的点只可能是它的父亲的父亲.儿子的儿子 或者 兄弟,分类讨论一下即可. 只有对于兄弟我们不能暴力搞,维护一下每个节点的所有儿子的前缀和.前缀MAX就行了. #includ ...

  5. 洛谷 P2678 & [NOIP2015提高组] 跳石头

    题目链接 https://www.luogu.org/problemnew/show/P2678 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布 ...

  6. 洛谷 P1025 & [NOIP2001提高组] 数的划分(搜索剪枝)

    题目链接 https://www.luogu.org/problemnew/show/P1025 解题思路 一道简单的dfs题,但是需要剪枝,否则会TLE. 我们用dfs(a,u,num)来表示上一个 ...

  7. 洛谷P1514 [NOIP2010提高组T4]引水入城

    P1514 引水入城 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城 ...

  8. 洛谷P1084 [NOIP2012提高组Day2T3]疫情控制

    P1084 疫情控制 题目描述 H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点. H 国的首都爆发了一种危害性极高的传染病.当局为了控 ...

  9. 洛谷P1083 [NOIP2012提高组Day2T2]借教室

    P1083 借教室 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借 ...

  10. 洛谷P1315 [NOIP2011提高组Day2T3] 观光公交

    P1315 观光公交 题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 0 分钟出现在 1号 ...

随机推荐

  1. Functional PHP (通义千问)

    Functional PHP 是一个专为 PHP 开发者设计的库,旨在引入函数式编程的概念和工具,帮助开发者编写更高效.可读性强的代码.以下是几个使用 Functional PHP 库进行函数式编程的 ...

  2. Linux的netns使用总结

    转载请注明出处: Linux的netns(Network Namespace)是Linux内核提供的一项强大的网络隔离功能,它能够创建多个独立的网络空间,每个空间都拥有自己独立的网络协议栈,包括网络接 ...

  3. MySQL 5.7 DDL 与 GH-OST 对比分析

    作者:来自 vivo 互联网存储研发团队- Xia Qianyong 本文首先介绍MySQL 5.7 DDL以及GH-OST的原理,然后从效率.空间占用.锁阻塞.binlog日志产生量.主备延时等方面 ...

  4. net8实现MediatR小示例C#

    MediatR是.net下的一个实现消息传递的库,简洁高效,它采用中介者设计模式,通过进程内消息传递机制,进行请求/响应.命令.查询.通知和事件的消息传递,可通过泛型来支持消息的智能调度,用于领域事件 ...

  5. SMU Spring 2023 Trial Contest Round 9

    A. Wrong Subtraction  在k次操作里, 将n的最后一位数减1,如果是0就去掉,模拟一下就好了. #include <bits/stdc++.h> //#define i ...

  6. Echarts 5 动态按需引入图表

    官网提供的按需引入方法为全量按需引入,在打包分离中,仍旧存在使用不到的图表被打包进去. 例如:组件A使用了折线图.柱状图,组件B只用到了折线图,但是打包组件B的时候,柱状图也就被打包进去. 本文提供一 ...

  7. Linux内核及补丁编译

    Linux内核及补丁编译 一.源码下载 1.查看当前linux内核版本 uname -r 2.获取对应版本的linux源码 方式1:源方式下载 sudo apt search linux-source ...

  8. P10884 [COCI 2017-2018#2] San

    题目传送门:P10884 [COCI 2017-2018#2] San 看下标签 COCI(克罗地亚) 2017 啊 比我小4年的题 --------------------------------- ...

  9. 【图文安装教程】在docker中安装kibana

    在上一篇中,我们已经在docker里面安装了ES. kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习. 所以,本篇咱们就在docker里面安装kibana图文教程: ...

  10. C语言指针进阶

    目录 字符指针 指针数组 数组指针 数组指针的定义 &数组名VS数组名 数组指针的使用 数组参数.指针参数 一维数组传参 二维数组传参 一级指针传参 二级指针传参 一级指针 二级指针 数组指针 ...