CF18 B. Platforms

Problem - 18B - Codeforces

 

题意:

有n个长为l的木板,第i个木板的起始位置在(i-1)*m

你的初始位置为0,每次跳跃距离为d

每次的落点在木板上才可以继续跳,问在哪个位置掉下去

 

记录到达一个木板的位置

设现在的位置为now,所在木板的右端点为r

那么(r-now)/d就是在这个木板还能跳跃的次数

(r-now+d)/d就是到下一个木板还需要的跳跃次数

再*d就是到下一个木板落点还需要的距离

如果落点在木板左端点左侧,就会掉下去

 

复制代码
#include<cstdio>

int main()
{
    int n,d,m,l;
    scanf("%d%d%d%d",&n,&d,&m,&l);
    long long now=0,r;
    for(long long i=1;i<=n+1;++i)
    {
        if(now<(i-1)*m || i>n) break;
        r=(i-1)*m+l;
        if(r>=now) now+=(r-now+d)/d*d;
    }
    printf("%lld",now);
}
复制代码

 

posted @   TRTTG  阅读(42)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2020-10-02 UVA10325 The Lottery
2020-10-02 CF979C Kuro and Walking Route
点击右上角即可分享
微信分享提示