描述
某校的慣例是在每學(xué)期的期末考試之后發(fā)放獎(jiǎng)學(xué)金。發(fā)放的獎(jiǎng)學(xué)金共有五種驮吱,獲取的條件各自不同:
1) 院士獎(jiǎng)學(xué)金雕憔,每人8000元,期末平均成績(jī)高于80分(>80)身笤,并且在本學(xué)期內(nèi)發(fā)表1篇或1篇以上論文的學(xué)生均可獲得豹悬;
2) 五四獎(jiǎng)學(xué)金,每人4000元液荸,期末平均成績(jī)高于85分(>85)瞻佛,并且班級(jí)評(píng)議成績(jī)高于80分(>80)的學(xué)生均可獲得;
3) 成績(jī)優(yōu)秀獎(jiǎng),每人2000元伤柄,期末平均成績(jī)高于90分(>90)的學(xué)生均可獲得绊困;
4) 西部獎(jiǎng)學(xué)金,每人1000元适刀,期末平均成績(jī)高于85分(>85)的西部省份學(xué)生均可獲得秤朗;
5) 班級(jí)貢獻(xiàn)獎(jiǎng),每人850元笔喉,班級(jí)評(píng)議成績(jī)高于80分(>80)的學(xué)生干部均可獲得取视;
只要符合條件就可以得獎(jiǎng),每項(xiàng)獎(jiǎng)學(xué)金的獲獎(jiǎng)人數(shù)沒有限制常挚,每名學(xué)生也可以同時(shí)獲得多項(xiàng)獎(jiǎng)學(xué)金贫途。例如姚林的期末平均成績(jī)是87分,班級(jí)評(píng)議成績(jī)82分待侵,同時(shí)他還是一位學(xué)生干部丢早,那么他可以同時(shí)獲得五四獎(jiǎng)學(xué)金和班級(jí)貢獻(xiàn)獎(jiǎng),獎(jiǎng)金總數(shù)是4850元秧倾。
現(xiàn)在給出若干學(xué)生的相關(guān)數(shù)據(jù)怨酝,請(qǐng)計(jì)算哪些同學(xué)獲得的獎(jiǎng)金總數(shù)最高(假設(shè)總有同學(xué)能滿足獲得獎(jiǎng)學(xué)金的條件)。
格式
輸入格式
輸入的第一行是一個(gè)整數(shù)N(1 <= N <= 100)那先,表示學(xué)生的總數(shù)农猬。接下來的N行每行是一位學(xué)生的數(shù)據(jù),從左向右依次是姓名售淡,期末平均成績(jī)斤葱,班級(jí)評(píng)議成績(jī),是否是學(xué)生干部揖闸,是否是西部省份學(xué)生揍堕,以及發(fā)表的論文數(shù)。姓名是由大小寫英文字母組成的長(zhǎng)度不超過20的字符串(不含空格)汤纸;期末平均成績(jī)和班級(jí)評(píng)議成績(jī)都是0到100之間的整數(shù)(包括0和100)衩茸;是否是學(xué)生干部和是否是西部省份學(xué)生分別用一個(gè)字符表示,Y表示是贮泞,N表示不是楞慈;發(fā)表的論文數(shù)是0到10的整數(shù)(包括0和10)。每?jī)蓚€(gè)相鄰數(shù)據(jù)項(xiàng)之間用一個(gè)空格分隔啃擦。
輸出格式
輸出包括三行囊蓝,第一行是獲得最多獎(jiǎng)金的學(xué)生的姓名,第二行是這名學(xué)生獲得的獎(jiǎng)金總數(shù)令蛉。如果有兩位或兩位以上的學(xué)生獲得的獎(jiǎng)金最多聚霜,輸出他們之中在輸入文件中出現(xiàn)最早的學(xué)生的姓名。第三行是這N個(gè)學(xué)生獲得的獎(jiǎng)學(xué)金的總數(shù)。
樣例1
樣例輸入1
4YaoLin 87 82 Y N 0
ChenRuiyi 88 78 N Y 1
LiXin 92 88 N N 0
ZhangQin 83 87 Y N 1
樣例輸出1
ChenRuiyi
9000
28700
限制
1s
來源
NOIp2005 第一題
題目分析:
題目難度適中俯萎,主要是實(shí)現(xiàn)好多重判斷,需要注意的是运杭,題目有一個(gè)要求:如果有兩位或兩位以上的學(xué)生獲得的獎(jiǎng)金最多夫啊,輸出他們之中在輸入文件中出現(xiàn)最早的學(xué)生的姓名。千萬不能忽略辆憔,否則不能AC撇眯。
題解(python)
def inputinformation():
? ? name,score1,score2,ganbu,xibu,lunwen=input().split()
? ? score1=int(score1)
? ? score2=int(score2)
? ? lunwen=int(lunwen)
? ? return name,score1,score2,ganbu,xibu,lunwen
def money(score1,score2,ganbu,xibu,lunwen):
? ? money=0
? ? if score1>80 and lunwen>=1:
? ? ? ? money+=8000
? ? if score1>85 and score2>80:
? ? ? ? money+=4000
? ? if score1>90:
? ? ? ? money+=2000
? ? if score1>85 and xibu==str('Y'):
? ? ? ? money+=1000
? ? if score2>80 and ganbu==str('Y'):
? ? ? ? money+=850
? ? return money
numofstd=int(input())
tmpinf=[]
tmpmoney=[]
total_money=0
for i in range(numofstd):
? ? name, score1, score2, ganbu, xibu, lunwen = inputinformation()
? ? moneyk=money(score1, score2, ganbu, xibu, lunwen)
? ? tmpinf.append([name, score1, score2, ganbu, xibu, lunwen,moneyk])
? ? tmpmoney.append(moneyk)
? ? total_money+=moneyk
tmpmoney=sorted(tmpmoney)
for i in range(numofstd):
? ? if tmpinf[i][-1]==tmpmoney[-1]:
? ? ? ? print(tmpinf[i][0])
? ? ? ? break
print(tmpmoney[-1])
print(total_money)