題目背景:
漢東省政法大學附屬中學所在的光明區最近實施了名為「智慧型光明」的智慧型城市專案。具體到交通領域,通過「智慧型光明」終端,可以看到光明區所有紅綠燈此時此刻的狀態。小明的學校也安裝了「智慧型光明」終端,小明想利用這個終端給出的資訊,估算自己放學回到家的時間。問題描述 一次放學的時候,小明已經規劃好了自己回家的路線,並且能夠**經過各個路段的時間。同時,小明通過學校裡安裝的「智慧型光明」終端,看到了出發時刻路上經過的所有紅綠燈的指示狀態。請幫忙計算小明此次回家所需要的時間。
輸入格式:
輸入的第一行包含空格分隔的三個正整數 r、y、g,表示紅綠燈的設定。這三個數均不超過 106。
輸入的第二行包含乙個正整數 n,表示小明總共經過的道路段數和路過的紅綠燈數目。
接下來的 n 行,每行包含空格分隔的兩個整數 k、t。k=0 表示經過了一段道路,將會耗時 t 秒,此處 t 不超過 106;k=1、2、3 時,分別表示出發時刻,此處的紅綠燈狀態是紅燈、黃燈、綠燈,且倒計時顯示牌上顯示的數字是 t,此處 t 分別不會超過 r、y、g。
輸出格式:
輸出乙個數字,表示此次小明放學回家所用的時間。
樣例輸入:
30 3 30
0 10
1 50 11
2 20 6
0 33 10
0 3樣例輸出:46
樣例說明:
小明先經過第一段路,用時 10 秒。第一盞紅綠燈出發時是紅燈,還剩 5 秒;小明到達路口時,這個紅綠燈已經變為綠燈,不用等待直接通過。接下來經過第二段路,用時 11 秒。第二盞紅綠燈出發時是黃燈,還剩兩秒;小明到達路口時,這個紅綠燈已經變為紅燈,還剩 11 秒。接下來經過第
三、第四段路,用時 9 秒。第三盞紅綠燈出發時是綠燈,還剩 10 秒;小明到達路口時,這個紅綠燈已經變為紅燈,還剩兩秒。接下來經過最後一段路,用時 3 秒。共計 10+11+11+9+2+3 = 46 秒。
評測用例規模與約定:
有些測試點具有特殊的性質:
* 前 2 個測試點中不存在任何訊號燈。
測試點的輸入資料規模:
* 前 6 個測試點保證 n ≤ 103。
* * 所有測試點保證 n ≤ 105。
一、
r,y,g=
map(
int,
input()
.split())
n=int
(input()
)time=
0def
judge
(k,t,time)
:if k==1:
t1=(time+r-t)
%(r+y+g)
elif k==2:
t1=(time+r+g+y-t)
%(r+y+g)
else
: t1=
(time+r+g-t)
%(r+y+g)if0
<=t1<=30:
t=r-t1
elif
30t=
0else
: t=r+g+y-t1+r
return t
for i in
range
(n):
k,t=
map(
int,
input()
.split())
if k==0:
time+=t
else
: time=time+judge(k,t,time)
print
(time)
二、
total_time =
0 r,y,g =
map(
int,
input()
.split())
n =int
(input()
)for i in
range
(n):
m_type,m_time =
map(
int,
input()
.split())
if m_type ==0:
total_time += m_time
continue
if m_type ==1:
m_time += g
m_type =
3if m_type ==2:
m_time +=
( r + g )
m_type =
3if m_type ==3:
pass
now_time =
(m_time - total_time)
%(g+r+y)
if now_time > g:
total_time +=
(now_time - g)
print
(total_time)
小明放學201812 2
問題描述 試題編號 201812 2 試題名稱 小明放學 時間限制 1.0s 記憶體限制 512.0mb 問題描述 題目背景 漢東省政法大學附屬中學所在的光明區最近實施了名為 智慧型光明 的智慧型城市專案。具體到交通領域,通過 智慧型光明 終端,可以看到光明區所有紅綠燈此時此刻的狀態。小明的學校也安...
小明放學 201812 2
要點 每次計算時候,用當前已有時間time對 r g y 取餘,將紅綠燈時間變化範圍縮短在r g y範圍內。time r g y 等價為 紅綠燈相對於出發時刻狀態已變化的時間。把 r g y三種燈的狀態變化想象成乙個圈,迴圈變化 includeusing namespace std int main...
201812 2 小明放學
測試資料 30 3 30 80 10 1 50 11 2 20 6 0 33 10 0 3這道題最開始的時候一直是30分,問題在 在處理三種情況時,沒有將迴圈一圈後,又回到相同的燈的情況算上。初始狀態為綠燈,到時候有可能是g,y,r。如果為g的情況,有可能是迴圈了一圈又回到g的情況 也有可能是沒有迴...