题意:
东东要上学了!
东东要去他家路口的公交车站等车!!!
东东从家出发,需要 d 分钟到达公交站台。
已知有 n 班公交车,第 i 路公交车在 a_i 分钟到达公交站台,随后每 b_i 分钟会有该路公交车。
东东想着他要迟到了!!!可恶!!!要迟到了!!于是他看见了一辆公交车来了,立马跳上了这辆"他见到的"第一辆公交车。
东东上车后发现了一个问题!!这不是去幼儿园的车!!!!可惜车门已经焊死。
那么问题来了东东上的是第几路车?
第一行输入路线数n和东东到达的时间d(1≤n≤100,1≤d≤1e5)
接下来n行,每行两个数字a_i和b_i(1≤a_i,b_i≤1e5),分别为该路公交首辆车到达的时间和两辆车之间的发车间隔
如果有多种可能,输出一种东东所上车的公交车的路线编号。
思路:
对每一路公交车,求出其大于d分钟的最小到达时间。答案就是对所有公交车的最小到达时间取最小。
总结:
一道简单的模拟题。
代码:
#include <iostream>
using namespace std;
int n,d;
int a[110],b[110];
int minAns=1e6,ans;
int main()
{
cin>>n>>d;
for(int i=1;i<=n;i++)
cin>>a[i]>>b[i];
for(int i=1;i<=n;i++)
{
int t=a[i];
while(t<d)
t=t+b[i];
if(minAns>t)
minAns=t,ans=i;
}
cout<<ans<<endl;
}