石头剪刀布

石头剪刀布

大家好,又见面了,我是全栈君。

总时间限制: 

1000ms

内存限制: 

65536kB
描述

石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。

一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?

输入

输入包含三行。

第一行包含三个整数:N,NA,NB,分别表示比了N轮,小A出拳的周期长度,小B出拳的周期长度。0 < N,NA,NB < 100。

第二行包含NA个整数,表示小A出拳的规律。

第三行包含NB个整数,表示小B出拳的规律。

其中,0表示“石头”,2表示“剪刀”,5表示“布”。相邻两个整数之间用单个空格隔开。

输出

输出一行,如果小A赢的轮数多,输出A;如果小B赢的轮数多,输出B;如果两人打平,输出draw。

样例输入

10 3 4
0 2 5
0 5 0 2

样例输出

A

提示

对于测试数据,猜拳过程为:

A:0 2 5 0 2 5 0 2 5 0

B:0 5 0 2 0 5 0 2 0 5

A赢了4轮,B赢了2轮,双方打平4轮,所以A赢的轮数多。

代碼實現:

 1 #include<cstdio>
 2 int n,m,al,bl,ai,bi,ans;
 3 int a[300],b[300];
 4 int main(){
 5     scanf("%d%d%d",&n,&al,&bl);
 6     for(int i=0;i<al;i++) scanf("%d",&a[i]);
 7     for(int i=0;i<bl;i++) scanf("%d",&b[i]);
 8     m=n;
 9     for(int i=1;i<=n;i++){
10         if(a[ai]==0&&b[bi]==2) ++ans;
11         if(a[ai]==2&&b[bi]==5) ++ans;
12         if(a[ai]==5&&b[bi]==0) ++ans;
13         if(a[ai]==b[bi]) --m;
14         ai++;bi++;
15         ai%=al;bi%=bl;
16     }
17     if(ans*2>m) printf("A\n");
18     if(ans*2<m) printf("B\n");
19     if(ans*2==m) printf("draw\n");
20     return 0;
21 }

。。。

转载于:https://www.cnblogs.com/J-william/p/6155178.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108731.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Latex希腊字母、特殊符号汇总表

    Latex希腊字母、特殊符号汇总表Latex和Matlab绘图中希腊字母、特殊符号汇总表Latex和Matlab绘图中希腊字母、特殊符号汇总表Latex和Matlab绘图中希腊字母、特殊符号汇总表一、小写希腊字母、特殊符号二、大写希腊字母三、希腊字母斜体原创不易,路过的各位大佬请点个赞一、小写希腊字母、特殊符号二、大写希腊字母三、希腊字母斜体原创不易,路过的各位大佬请点个赞…

    2022年10月25日
  • Convert Sorted List to Binary Search Tree「建议收藏」

    Convert Sorted List to Binary Search Tree

  • MATLAB分段函数及应用实例

    MATLAB分段函数及应用实例简单实例:用matlab画分段函数        当x&lt;0时 y=5*sin(x);        当x&gt;=0且x&lt;=5时y=x^2;        当x&gt;5时y=(8-x)^2+16.x=-5:0.001:10;y=5*sin(x).*(x&lt;0)+x.^2.*(x&gt;=0&amp;x&lt;=5)+((8-x).^2+16).*(x&gt;5);p…

  • c语言编木马程序,肿么用C语言编写木马.病毒等程序

    c语言编木马程序,肿么用C语言编写木马.病毒等程序嘿嘿给你个类病毒C程序源码,看下方法吧#defineSVCHOST_NUM6#include#includechar*autorun={“[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打开\nshell\\1\\Command=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\Command=SVCHOST.exe\nshel…

  • 已知三角形两边求夹角度数_已知直角三角形三边求夹角

    已知三角形两边求夹角度数_已知直角三角形三边求夹角importmatha=float(raw_input())b=float(raw_input())c=float(raw_input())tt=(a**2+b**2-c**2

  • 2020年精心收集的十个Java开发网站

    2020年精心收集的十个Java开发网站不管谁手里都藏着些许自己觉得好用的网站,今天专门找大厂出来的同学同事觉得好用的网站分享给大家,如果这里有你没收藏还不知道觉得还蛮有用的网站可以给我点个赞,大家一起进步,一起学习,同时也可以分享你觉得好用实用的网站,分享快乐0.0好了,废话不多说,咋们上干货:一、GithubGitHub是一个面向开源及私有软件项目的托管平台,一个拥有数十亿行代码的网站,每天有数百万开发者聚集在一起,研究开源软件中存在的问题。对于我们程序猿来说,如果不想重复造轮子,就必须要站在巨人的肩膀上,那么巨人是谁呢?就是Gi

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号