1032 挖掘機技術哪家強python3無超時

2021-10-08 05:57:00 字數 1773 閱讀 8663

改進後的**成功率在90%

#!/usr/bin/env python

# -*-coding:utf-8 -*-

'''@file : 1032.py

@time : 2020/04/08 17:02:03

@author : schiller xu

@version : 1.0

@contact : [email protected]

@desc : none

'''n=

int(

input()

)school=

grade=

result=

for i in

range

(n):

data=

input()

.split(

)if data[0]

in school:

p=school.index(data[0]

) grade[p]

+=int

(data[1]

)else:0

])int(data[1]

))m=grade[0]

index=

0for i in

range(1

,len

(grade)):

if grade[i]

>m:

index=i

m=grade[i]

print

(school[index]

,end=

' ')

print

(m)

後來我試著用字典儲存學校編號和成績,仍然是二維資料,**執行仍是超時。

改進思路如下:

學校編號從1開始且連續,用列表儲存成績,用下標作為學校編號,資料從二維變為一維;

使用sys.stdin.readline代替input;

成績範圍[0,100],提前生成成績字元到整型對映的字典,成績通過字典的get函式獲取。

其中1完成後,成功的概率大概在50%左右(沒試過),3個措施的改進能力逐次降低。

改進後的**:

#!/usr/bin/env python

# -*-coding:utf-8 -*-

'''@file : 1032-1.py

@time : 2020/07/17 15:53:28

@author : schiller xu

@version : 1.0

@desc : none

'''import sys

n=int

(input()

)d=[0

]*(n+1

)score_dict =

for _ in

range

(n):

school,score=sys.stdin.readline(

).split(

) school=

int(school)

d[school]

+=score_dict.get(score)

max_d=

max(d)

#i=d.index(max_d)

#print(i,max_d)

print

(d.index(max_d)

,max_d)

1032 挖掘機技術哪家強

為了用事實說明挖掘機技術到底哪家強,pat組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。輸入格式 輸入在第1行給出不超過105的正整數n,即參賽人數。隨後n行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號 從1開始連續編號 及其比賽成績 百分制 中間以空格分隔。輸...

1032 挖掘機技術哪家強

為了用事實說明挖掘機技術到底哪家強,pat組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。輸入格式 輸入在第1行給出不超過105的正整數n,即參賽人數。隨後n行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號 從1開始連續編號 及其比賽成績 百分制 中間以空格分隔。輸...

1032 挖掘機技術哪家強

參考了 的 好吧其實基本一模一樣捂臉哭 為了用事實說明挖掘機技術到底哪家強,pat組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。輸入格式 輸入在第1行給出不超過105的正整數n,即參賽人數。隨後n行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號 從1開始連續編號 ...