程序设计思维与实践 Week15 实验 F-东东来不及解释了快上车

题目链接:F-东东:“来不及解释了,快上车!!”

题目描述:
东东要上学了!
东东要去他家路口的公交车站等车!!!
东东从家出发,需要 d 分钟到达公交站台。
已知有 n 班公交车,第 i 路公交车在 a_i 分钟到达公交站台,随后每 b_i 分钟会有该路公交车。
东东想着他要迟到了!!!可恶!!!要迟到了!!于是他看见了一辆公交车来了,立马跳上了这辆"他见到的"第一辆公交车。
东东上车后发现了一个问题!!这不是去幼儿园的车!!!!可惜车门已经焊死。
那么问题来了东东上的是第几路车?

Input:
第一行输入路线数n和东东到达的时间d(1≤n≤100,1≤d≤1e5)
接下来n行,每行两个数字a_i和b_i(1≤a_i,b_i≤1e5),分别为该路公交首辆车到达的时间和两辆车之间的发车间隔
如果有多种可能,输出一种

Output:
东东所上车的公交车的路线编号。

Sample Input:

5 5
3 3
2 5
5 6
4 9
6 1

Sample Output:

3

思路:
数据量比较小,只需要把每个公交车出发的时间点都从统一的时间开始,然后遍历直到出现东东能坐上车的情况,输出一种即可。

代码:

#include<iostream>
using namespace std;
int n,d,a[110],b[110],num,maxn=1e6;
int main(){
    cin>>n>>d;
    for(int i=0;i<n;i++)
        cin>>a[i]>>b[i];
    for(int i=0;i<n;i++){
        while(a[i]<d){
            a[i]+=b[i];
        }
        if(a[i]<maxn){
            maxn=a[i];
            num=i;
        }
    }
    cout<<num+1<<endl;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值