19届天梯赛——L1 再进去几个人+帮助色盲

        再进去几个人

        就是一个简单的加减法,代码附上

   

#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<b-a;
}

帮助色盲这道题呢,一开始没有全部ac有错误的,主要是读题太快,着急往下写O(∩_∩)O哈哈~

根据题意呢,有两种途径AC这道题

通过产生不同的提示音来帮助红绿色盲患者判断当前交通灯的颜色;但当患者可以自行判断的时候(例如黄灯或者前方两米内有人),就不做多余的打扰。

这是原文片段,(A是红绿灯 B是前方是否有人  和题目设的一样)

我们就可以这样模拟一下,先判断前方是否有人和是否是黄灯,只要有人或者是黄灯,我们的程序就不必进行提示(不做多余的打扰)

if(A==2||B==1)  不提示 else去判断应该提示什么(绿灯提示dudu 红灯提示biii)

然后还有一行内容,这时就需要看红绿灯了,不必管前方有没有人,无所谓~

如果是红灯或者黄灯 输出stop否则输出move

这是第一种方法,AC

第二个方法也是读题,原文:

当前交通灯为红灯或绿灯时,检测其前方两米内是否有同向行走的人 —— 如果有,则患者自己可以判断,程序就不做提示;如果没有,则根据灯的颜色给出不同的提示音。黄灯也不需要给出提示。

根据这个直接模拟就好,我觉得天梯赛大部分就是模拟,不需要太多的算法,要是想拿奖拿高分,多做天梯赛上面的历年真题就好,学会如何用程序把题意写出来就好,大多是都没问题,无非超时,优化一下时间复杂度就好,N^2 降到 N*logN 经常这样AC

代码附上,按照题意去模拟一下就好

#include<iostream>
using namespace std;
int main()
{
    int A,B;
    cin>>A>>B;

    //1.
    // if(A==2||B==1)
    // {
    //     cout<<"-\n";
    // }
    // else
    // {
    //     if(A==1)
    //         cout<<"dudu\n";
    //     else
    //         cout<<"biii\n";
    // }
    // if(A==0||A==2)
    //     cout<<"stop";
    // else
    //     cout<<"move";

    //2.
    if(A==1||A==0)
    {
        if(B==1)
            cout<<"-\n";
        else
        {
            if(A==1)
                cout<<"dudu\n";
            else
                cout<<"biii\n";
        }
    }
    else
        cout<<"-\n";
    if(A==0||A==2)
        cout<<"stop";
    else
        cout<<"move";
    
    return 0;
}

        大家不懂多多评论区交流,互相请教互相帮助,没准别人一句话就点通你(亲身经历)

        共同加油,希望大家不断进步!

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值