ccf 2018 12 2 小明放學解法

2021-10-03 23:23:55 字數 1990 閱讀 3622

if __name__ == "__main__":

(x,y,z) = map(str , input().split())

number = int(input())

counter = 0

time_list =

red_time = int("1" + x)

yellow_time = int("2"+y)

green_time = int("3"+z)

for i in range(int(x)):

for i in range(int(z)):

for i in range(int(y)):

def re_index(flag_count , time_list , counter):

try:index = time_list.index(flag_count)

except:return -1

inter_index = index+1+counter-len(time_list)

if inter_index > 0:

index = inter_index - 1

else:

index = index+counter

return index

for i in range(number):

(n,m) = map(str , input().split())

if "2" not in n and len(m) < 2:

n = n+"0"

flag_count = int(n+m)

index = re_index(flag_count=flag_count , time_list = time_list , counter = counter)

if index == -1:

counter = counter+flag_count

else:

true_time = str(time_list[index])

if "1" in true_time[0]:

true_time = true_time.replace("1" , "0" , 1)

counter = counter + int(true_time)

if "2" in true_time[0]:

true_time = true_time.replace("2" , "0" , 1)

counter = counter + int(true_time)+int(x)

print(counter)

將紅綠燈的持續時間和狀態標誌合在一起記為乙個整數,然後依次放入陣列中,紅,綠,黃為30,3,30時,陣列為[130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 23, 22, 21]。

然後結合已經用去的時間來判斷此刻紅綠燈的狀態,然後在計算在路口花費的時間,但是超時了,我以為是後面比較的問題,然後我嘗試新新增乙個直接判斷特定狀態所需時間的陣列,[30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 32, 31],不用再if比較,但還是超時了,看來這個方法用python行不通,但也是乙個思路

CCF 201812 2 小明放學

題目大意 這題和第一題的區別在於,小明事先得知路況 路口通過時間和交通燈資料 走之前 估算走多少時間,不再是第一題那樣走多少記多少。思路 由於沒有親自去走,所以需要模擬人去走,得到走的總時間,遇到路口就加時間,遇到交通燈的時候,通過總時間和交通燈在出發時的情況,推算出現在交通燈情況,用現在的交通燈情...

CCF 201812 2小明放學

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

CCF 201812 2小明放學

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