日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

信息学奥赛一本通(1227:Ride to Office)

發(fā)布時間:2025/3/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信息学奥赛一本通(1227:Ride to Office) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1227:Ride to Office


時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 5002 ??? 通過數: 2822

【題目描述】

起點與終點相隔4500米。現Charley需要從起點騎車到終點。但是,他有個習慣,沿途需要有人陪伴,即以相同的速度,與另外一個人一起騎。而當他遇到以更快的速度騎車的人時,他會以相應的速度跟上這個更快的人。先給定所有與Charley同路的人各自的速度與出發(fā)時間,問Charley以這種方式跟人,騎完4500米需要多少時間。得出的結果若是小數,則向上取整。

【輸入】

輸入若干組數據,每組數據第一行n(1≤n≤10000),n為0,表示輸入結束,接著輸入n行數據,每行2個數據,表示速度v和出發(fā)時間t,如果t<0,表示陪伴人提早出發(fā)了。

【輸出】

輸出對應若干行數據,每行輸出1個數,表示最快到達的時間。

【輸入樣例】

4 20 0 25 -155 27 190 30 240 2 21 0 22 34 0

【輸出樣例】

780 771

【分析】

? ? ? ?依題意,Charley是跟著騎行快的人到達終點,騎行快的人,自然用時最短,貪心策略就是我們找到騎行最短時間的那個人即可,如果出發(fā)時間t<0,表示提前出發(fā)了,如果Charley追不上,則不起作用,如果Charley追上了,他的速度一定低于Charley,則不用考慮。

? ? ? ? 提示:這題的v單位是km/h

【參考代碼】

#include <stdio.h> #include <math.h> #define MIN 0x3f3f3f3f int main() {int i,n,t,time,min;double v;while(scanf("%d",&n) && n){min=MIN;for(i=1;i<=n;i++){scanf("%lf%d",&v,&t);if(t>=0){time=(int)(t+ceil(4500/(1000.0*v/3600))); //時間轉換為秒if(time<min)min=time;}}printf("%d\n",min);}return 0; }

http://ybt.ssoier.cn:8088/problem_show.php?pid=1227

總結

以上是生活随笔為你收集整理的信息学奥赛一本通(1227:Ride to Office)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。