《算法笔记》3.1小节——入门模拟->简单模拟 问题 I: 锤子剪刀布

本文分享了一段使用C语言实现的竞赛博弈策略代码,详细介绍了如何通过读取输入并根据不同的策略进行处理,最终输出比赛结果。文章通过具体实例展示了如何在C语言中处理复杂的输入输出,并给出了完整的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把握今天,才能拥有明天!

开始输入数据总是有问题,咋改都不对,最讨厌带空格的字符或字符串处理了。

看了一下这位小哥写的输入,终于对了····难为我这种菜鸟嘛。

         https://www.jianshu.com/p/6161aa848fac

#include<stdio.h>
#include<math.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int a1=0,a2=0,a3=0;
        char a,b;
        int ac=0,aj=0,ab=0;
        int bc=0,bj=0,bb=0;
        for(int i=0;i<n;i++)
        {
            scanf(" %c %c",&a,&b);
            if(a==b)a2++;
            else{
                if(a=='C'&&b=='J'){a1++;ac++;}
                if(a=='J'&&b=='B'){a1++;aj++;}
                if(a=='B'&&b=='C'){a1++;ab++;}
                if(b=='C'&&a=='J'){a3++;bc++;}
                if(b=='J'&&a=='B'){a3++;bj++;}
                if(b=='B'&&a=='C'){a3++;bb++;}
            }
        }
        printf("%d %d %d\n",a1,a2,a3);
        printf("%d %d %d\n",a3,a2,a1);
        if(ab>=ac&&ab>=aj)printf("B ");
        else if(ac>ab&&ac>=aj)printf("C ");
        else printf("J ");
        if(bb>=bc&&bb>=bj)printf("B\n");
        else if(bc>bb&&bc>=bj)printf("C\n");
        else printf("J\n");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值