HOJ 2245 浮游三角胞(数学啊 )

HOJ 2245 浮游三角胞(数学啊 )

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

题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2245

Time Limit: 500 MS Memory Limit: 50000 K
Total Submit: 129(38 users) Total Accepted: 66(34 users) Rating: HOJ 2245 浮游三角胞(数学啊 ) Special Judge: No
Description
HOJ 2245 浮游三角胞(数学啊 )

如图所看到的。Zoidtrip是一个休闲向小游戏……
玩家须要操纵一个以斜向下四十五度速度v不停前进的三角胞,不停地避开水平障碍物,每次点击屏幕能够变换行进方向。[能够将斜向左(右)45°变换为斜向右(左)45°]
如今,有n层障碍物。第i层障碍物能够从横坐标l[i]~r[i]的范围内穿过去(包含l[i]与r[i]),第i层障碍物与第i-1层障碍物之间的距离为d[i]。
请问,假定在能够无限变换方向的条件下,最多能够前进至第几层?
我们规定玩家出生位置为第0层、横坐标为0的地方。
你能够在随意实数时刻进行方向变换。

Input
多组測试数据。
每组測试数据第一行为两个正整数 n和v。
接下来n行,每行3个整数l[i] , r[i] , d[i]。
( N <= 2000000。0 <= 全部数据 < 2^31 )
Output
对于每组数据。输出一行,包括一个整数,代表最多前进至的层数。
Sample Input
3 7
1 3 1
4 10 5
8 10 1
4 1
1 1 1
2 5 10
1 1 1
3 5 2
Sample Output
2
4
Hint

“第i层障碍物与第i-1层障碍物之间的距离为d[i]”
因此d[1]是第一层和第零层的距离。

例子1解释例如以下:

我们能够出生位置向右下移动至第一层坐标为1的地方。
接下来能够继续一直向右下移动至第二层坐标为6的地方。

但不管怎样也无法移动至第三层的8~10之间。

例子2说明例如以下:
(0,0)->(1,1)->(2,2)->(3,1)->(4,3)
因此到达第四层。

Source
哈尔滨理工大学第五届ACM程序设计竞赛

PS:

把 三角胞在每一层能走到的且满足能避开障碍物的最左和最右的距离找出来!

代码例如以下:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
#define LL long long
#define maxn 2000047
LL l[maxn], r[maxn], d[maxn];

int main()
{
    LL n, v;
    while(scanf("%lld%lld",&n,&v)!=EOF)
    {
        LL L = 0,R = 0;
        int ans = 0;
        for(int i=0; i<n; i++)
        {
            scanf("%lld%lld%lld",&l[i],&r[i],&d[i]);
        }
        for(int i = 0; i < n; i++)
        {
            if(l[i] > r[i])
            {
                LL t = r[i];
                r[i] = l[i];
                l[i] = t;
            }
            L-=d[i];
            R+=d[i];
            L = max(l[i],L);
            R = min(r[i],R);
            if(L > R)
            {
                break;
            }
            ans++;
        }
        if(v == 0)
            ans = 0;
        printf("%d\n",ans);
    }
    return 0;
}

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116288.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电路模电数电知识点总结(初步完成,后期进行小部分优化)[通俗易懂]

    电路模电数电知识点总结(初步完成,后期进行小部分优化)[通俗易懂]文章目录前言推荐的学习资料复习要点第一模块电路分析基础小知识点电位参考方向参考方向小练习电压的三种表达方式恒压源与恒流源特性比较电容电感无源元件小结理想受控源电路符号理想受控源的分类受控电源与独立电源的比较基尔霍夫定律一组概念基尔霍夫电流定律(KCL)基尔霍夫电压定律(KVL)列写方法:电阻的等效变换法化简方法电源的等效变换法理想电压源的串并联理想电流源的串并联电压源与电流源的相互转化输入电阻叠加原理前言本文针对《电工电子技术(第4版)》——徐淑华,此书进行简单知识总结。本文可能对快速回忆知识..

    2022年6月20日
  • INTELLIJ IDEA 2018 破解教程「建议收藏」

    转载链接INTELLIJIDEA破解教程破解流程下载破解补丁:http://idea.lanyus.com/(1)得到JetbrainsCrack-2.9.10-release-enc.jar(该文件名字和我可能不一样,下载最新版就行!)文件后,我们重命名去掉-release-enc然后放在intellijidea安装目录的bin文件夹下(2)在IDEA安装目…

    2022年4月6日
  • 分享一个用安卓手机就能引导pc安装linux系统办法

    分享一个用安卓手机就能引导pc安装linux系统办法

    2021年12月3日
  • jmeter-header获取ssionid

    jmeter-header获取ssionid

    2021年9月18日
  • vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.

    vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.vue-router@3.0版本及以上回调形式已经改成promiseapi的形式了,返回的是一个promise,如果路由地址跳转相同,且没有捕获到错误,控制台始终会出现如图所示的警告(注:3.0以下版本则不会出现以下警告!!!,因路由回调问题…)*怎么解决呢?方案一:安装vue-router3.0以下版本:先卸载3.0以上版本然后再安装旧版本npminstallvue-router@2.8.0-S方案二:针对于路由跳转相同的地址添加catch捕获一下异常:this.$router.

    2022年7月26日
  • Navicat15激活码一直生成不了(注册激活)

    (Navicat15激活码一直生成不了)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlHQE565NV3W-eyJsaWNlbnNlSWQi…

    2022年3月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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