首页 > 其他分享 >石头剪刀布

石头剪刀布

时间:2024-05-28 21:59:12浏览次数:11  
标签:++ sum 石头 && 剪刀 出拳

描述

这是一道难题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

创作不易,点个赞呗。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。

如果两个人出拳一样,则不分胜负。一天,小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赢的轮数多。

    总时间限制: 1000ms 内存限制: 65536kB

  • #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,na,nb,i,j=0,k=0,sum=0,cum=0,a[105],b[105];
        scanf("%d %d %d",&n,&na,&nb);
        for(i=1;i<=na;i++)
            scanf("%d",&a[i]);
        for(i=1;i<=nb;i++)
            scanf("%d",&b[i]);
        for(i=1;i<=n;i++)
        {
            j++,k++;
            if((a[j]==0&&b[k]==2)||(a[j]==2&&b[k]==5)||(a[j]==5&&b[k]==0))sum++;
            else if((a[j]==0&&b[k]==5)||(a[j]==2&&b[k]==0)||(a[j]==5&&b[k]==2))cum++;
            if(j==na)j=0;
            if(k==nb)k=0;
        }
        if(sum>cum)printf("A");
        else if(sum<cum)printf("B");
        else printf("draw");
        return 0;
    }

标签:++,sum,石头,&&,剪刀,出拳
From: https://blog.csdn.net/bbc121223/article/details/139249214

相关文章

  • # [NOIP2014 提高组] 生活大爆炸版石头剪刀布
    传送锚点:https://www.luogu.com.cn/problem/P1328题目背景NOIP2014提高组D1T1题目描述石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头......
  • P10371 「LAOI-4」石头 题解
    原题链接:P10371。首先我们设\(l_{i,0/1}\)表示\(i\)左边的第一,二个比\(a_i\)大的数的位置。\(r_{i,0/1}\)同理。考虑一个区间\([L,R]\)在什么时候满足条件,设\(p,q\)分别为区间中最大/次大值的位置,我们分三种情况讨论。情况一:\(L<p<R\)。考虑从\(L,R\)开......
  • cf 393017C 石头剪刀布 Metacamp2022-onlineA-dev
     Problem-C-Codeforces 五维的DPg[i][D][r][s][p]i:到了第i个位置D:最后有D个点放在后面r,s,p:已经选择了r,s,p个石头,剪刀,布放到后面 四维的DPf[i][D][r][s][p]i:到了第i个位置D:目前有D个点放在后面r,s,p:已经选择了r,s,p个石头,剪刀,布放到后面其......
  • 1018 锤子剪刀布
    又臭又长。#include<bits/stdc++.h>usingnamespacestd;map<int,char>mp={{1,'C'},{2,'J'},{3,'B'}};intwa[10],wb[10],ping;//a通过各种手势赢得比赛的次数假定依次是cjbintgetMaxIndex(inta[]){//找到最大的 intindex=1; intval=a[1];......
  • 蓝桥杯-跳石头(二分法)
    0.题目题目描述一年一度的「跳石头」比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有N块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至......
  • 2-66. 制作石头和稻草的粒子特效
    上节课场景的布置石头的碰撞范围需要改成PolygonCollider2D给石头添加粒子特效添加ParticleSystemRendererTextureSheetAnimationNormalEmissionShapeVelocityoverLifetimeColoroverLifetimeRotationoverLifetime石头粒子效果做成预制体......
  • 65. 实现树木、石头、稻草在场景里的预先生成方法
    修改GridMapManager创建CropGenerator更新GridMapManager修改CropGenerator给场景里的树添加CropGenerator修改EventHandler修改CropGenerator修改GridMapManager到目前为止,还是有点问题玩家等待树长大,然后进入房子,再从房子出来,树变回原来的样子了,想......
  • 算法打卡day37|动态规划篇05| Leetcode1049.最后一块石头的重量II、494.目标和、474.
    算法题Leetcode1049.最后一块石头的重量II题目链接:1049.最后一块石头的重量II 大佬视频讲解:最后一块石头的重量II视频讲解 个人思路和昨天的分割等和子集有些相像,这道题也是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了。解法......
  • P2440:木材加工——P2678:跳石头 【二分答案】
    P2440木材加工【二分答案】题目背景要保护环境题目描述木材厂有n根原木,现在想把这些木头切割成k段长度均为l的小段木头(木头有可能有剩余)。当然,我们希望得到的小段木头越长越好,请求出l的最大值。木头长度的单位是cm,原木的长度都是正整数,我们要求切割得到的小段木......
  • P2678 [NOIP2015 提高组] 跳石头
    思路:运用两次数组比较,按照序号和前后相差距离的大小比较排序。代码:首次尝试30分#include<algorithm>#include<iostream>#include<cstring>#include<queue>#include<cmath>usingnamespacestd;intm,n;longlongl;inta[50010];structnode{ intid; intch......