201812 2 小明放學

2021-10-10 05:26:00 字數 885 閱讀 7969

測試資料

30 3 30

80 10

1 50 11

2 20 6

0 33 10

0 3

這道題最開始的時候一直是30分,問題在:在處理三種情況時,沒有將迴圈一圈後,又回到相同的燈的情況算上。

初始狀態為綠燈,到時候有可能是g,y,r。如果為g的情況,有可能是迴圈了一圈又回到g的情況;也有可能是沒有迴圈,燈還沒來得及變的情況。

同理,紅燈和黃燈也是相同。

所以,實際上每個燈下需要處理的為4種情況。

**:

#include

using

namespace std;

intmain()

else

else

}break

;case2:

//yellow

cur = sum%circle;

cur -

=(time+r);if

(cur <=0)

else

else

}break

;case3:

//green

cur = sum%circle;

cur -

= time;

if(cur <0)

else

else

}break

;default

: sum+=0

;}//cout<<"sum "<}

// printf("%lld\n",sum);

cout

}

嗯,雖然100分了,但是其實思考起來很麻煩。

這個博主的思路棒棒的

小明放學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 小明放學

題目傳送門 問題描述 試題編號 201812 2 試題名稱 小明放學 時間限制 1.0s 記憶體限制 512.0mb 問題描述 題目背景 漢東省政法大學附屬中學所在的光明區最近實施了名為 智慧型光明 的智慧型城市專案。具體到交通領域,通過 智慧型光明 終端,可以看到光明區所有紅綠燈此時此刻的狀態。小...