CCF201812 2小明放學

2021-10-04 04:30:51 字數 970 閱讀 6330

題目描述

小明放學 思路

是第一題小明上學的公升級版

注意這裡的資料型別都要使用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小明放學

題目背景 漢東省政法大學附屬中學所在的光明區最近實施了名為 智慧型光明 的智慧型城市專案。具體到交通領域,通過 智慧型光明 終端,可以看到光明區所有紅綠燈此時此刻的狀態。小明的學校也安裝了 智慧型光明 終端,小明想利用這個終端給出的資訊,估算自己放學回到家的時間。問題描述 一次放學的時候,小明已經規...