1038 統計同成績學生 (20 分)
本題要求讀入 n 名學生的成績,將獲得某一給定分數的學生人數輸出。
輸入在第 1 行給出不超過 105 的正整數 n,即學生總人數。隨後一行給出 n 名學生的百分制整數成績,中間以空格分隔。最後一行給出要查詢的分數個數 k(不超過 n 的正整數),隨後是 k 個分數,中間以空格分隔。
在一行中按查詢順序給出得分等於指定分數的學生人數,中間以空格分隔,但行末不得有多餘空格。
10
60 75 90 55 75 99 82 90 75 50
3 75 90 88
3 2 0
劈了啪啦寫了一堆,果然有超時n=eval(input())
ls=input().split()
for i in range(len(ls)):
ls[i]=int(ls[i])
ls1=input().split()
k=int(ls1[0])
ls2=ls1[1:]
ls_out=
for i in range(len(ls2)):
ls2[i]=int(ls2[i])
for num1 in ls2:
cnt=0
for num2 in ls:
if num2==num1:
cnt+=1
out=''
for i in range(len(ls_out)):#因為要求行尾不能有空格,做了一下處理
out+=str(ls_out[i])
print(' '.join(out))
看了看別人的**,看見有直接用count()函式的,7行就寫完了
然後下面這個是無超時的,xutiantian1412的**
n = eval(input()) #map()函式以前沒學過,我也不常用,我的理解就是第乙個引數是動作
score = list(map(int,input().split())) #第二個是要處理的資料,這裡就是對輸入並分好的列表裡的數
grade = [0 for i in range(101)] #據做int操作,得到乙個全是int的列表
for sc in score: #第三行的這種for迴圈寫法我也不常用,結果是得到乙個grade列表,有101個0
grade[sc] += 1
ans =
lst = list(map(int,input().split()))
for sc in lst[1:]:
print(' '.join(ans))
#整個**不難理解,看完第一感覺是臥槽這是怎麼想到的。。
1038 統計同成績學生
本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入格式 輸入在第1行給出不超過105 的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以空格分隔。最後1行給出要查詢的分數個數k 不超過n的正整數 隨後是k個分數,中間以空格分隔。輸出格式 在一行中按查詢順序給出得分...
1038 統計同成績學生
題目資訊 本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入格式 輸入在第1行給出不超過105的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以空格分隔。最後1行給出要查詢的分數個數k 不超過n的正整數 隨後是k個分數,中間以空格分隔。輸出格式 在一行中按查詢順序...
1038 統計同成績學生
時間限制 250 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入格式 輸入在第1行給出不超過105的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以...