PAT Basic 1047. 編程團(tuán)體賽(20)(C語(yǔ)言實(shí)現(xiàn))

我的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ù) N\le 10^4 ),即所有參賽隊(duì)員總數(shù)。隨后 N 行,每行給出一位隊(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;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容