題目描述
小明放學 思路
是第一題小明上學的公升級版
注意這裡的資料型別都要使用long long!
對於每乙個輸入(k,t)是相對於出發時的時刻而言的,因此我們需要根據現在已經過去的時間,推算出現在還需要等待多長時間。這裡我用gettime這個函式來計算。
我們利用乙個[0,r+g+y]的數軸來輔助計算
第一步:計算出發時刻,在數軸上的位置
第二步:計算times時間之後,在數軸上的位置
第三步:計算改時間下,需要等待的時間
如第四條記錄。k為2,t為2,表示此時處於黃燈,且還有2秒黃燈結束。
1、0時刻在數軸上的位置為,(30+3+30-2),也就是61
2、當到達該紅綠燈時,時間已經過去了21秒。那麼現在在數軸上的位置就是(61+21)%(30+3+30),也就是19
3、計算19秒處到綠燈的距離,也就是30-19=11。
**
#include
using
namespace std;
long
long r,y,g,n,ans,k,t;
long
long
gettime
(int k,
int t,
long
long times)
else
if(k ==3)
else
if(k ==2)
cur =
(cur+times)
%(r+y+g);if
(cur <= r)
else
if(cur <= r+g)
else
if(cur <= r+g+y)
return cur;
}int
main()
else
} cout<
return0;
}
CCF 201812 2 小明放學
題目大意 這題和第一題的區別在於,小明事先得知路況 路口通過時間和交通燈資料 走之前 估算走多少時間,不再是第一題那樣走多少記多少。思路 由於沒有親自去走,所以需要模擬人去走,得到走的總時間,遇到路口就加時間,遇到交通燈的時候,通過總時間和交通燈在出發時的情況,推算出現在交通燈情況,用現在的交通燈情...
CCF 201812 2小明放學
試題編號 201812 2 試題名稱 小明放學 時間限制 1.0s 記憶體限制 512.0mb 問題描述 題目背景 漢東省政法大學附屬中學所在的光明區最近實施了名為 智慧型光明 的智慧型城市專案。具體到交通領域,通過 智慧型光明 終端,可以看到光明區所有紅綠燈此時此刻的狀態。小明的學校也安裝了 智慧...
CCF 201812 2小明放學
題目背景 漢東省政法大學附屬中學所在的光明區最近實施了名為 智慧型光明 的智慧型城市專案。具體到交通領域,通過 智慧型光明 終端,可以看到光明區所有紅綠燈此時此刻的狀態。小明的學校也安裝了 智慧型光明 終端,小明想利用這個終端給出的資訊,估算自己放學回到家的時間。問題描述 一次放學的時候,小明已經規...