我的PAT系列文章更新重心已移至Github,歡迎來(lái)看PAT題解的小伙伴請(qǐng)到Github Pages瀏覽最新內(nèi)容。此處文章目前已更新至與Github Pages同步。歡迎star我的repo。
題目
編程團(tuán)體賽的規(guī)則為:每個(gè)參賽隊(duì)由若干隊(duì)員組成;所有隊(duì)員獨(dú)立比賽;參賽隊(duì)的成績(jī)?yōu)樗嘘?duì)員的成績(jī)和;成績(jī)最高的隊(duì)獲勝。
現(xiàn)給定所有隊(duì)員的比賽成績(jī),請(qǐng)你編寫程序找出冠軍隊(duì)。
輸入格式:
輸入第一行給出一個(gè)正整數(shù) (
),即所有參賽隊(duì)員總數(shù)。隨后
行,每行給出一位隊(duì)員的成績(jī),格式為:
隊(duì)伍編號(hào)-隊(duì)員編號(hào) 成績(jī)
,其中隊(duì)伍編號(hào)
為 1 到 1000 的正整數(shù),隊(duì)員編號(hào)
為 1 到 10 的正整數(shù),成績(jī)
為 0 到 100 的整數(shù)。
輸出格式:
在一行中輸出冠軍隊(duì)的編號(hào)和總成績(jī),其間以一個(gè)空格分隔。注意:題目保證冠軍隊(duì)是唯一的。
輸入樣例:
6
3-10 99
11-5 87
102-1 0
102-3 100
11-9 89
3-2 61
輸出樣例:
11 176
思路
將隊(duì)伍編號(hào)作為數(shù)組索引即可方便地累加同隊(duì)隊(duì)員的成績(jī)。
代碼
最新代碼@github,歡迎交流
#include <stdio.h>
int main()
{
int N, team, member, score, highest = 0, teams[1000] = {0};
scanf("%d", &N);
for(int i = 0; i < N; i++)
{
scanf("%d-%d %d", &team, &member, &score);
teams[team - 1] += score;
}
for(int i = 0; i < 1000; i++)
if(teams[i] > teams[highest])
highest = i;
printf("%d %d", highest + 1, teams[highest]);
return 0;
}