PAT乙級1032 挖掘機技術哪家強

2021-10-01 03:16:29 字數 2148 閱讀 4460

為了用事實說明挖掘機技術到底哪家強,pat 組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。

輸入格式:

輸入在第 1 行給出不超過 10​5​​ 的正整數 n,即參賽人數。

隨後 n 行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號(從 1 開始連續編號)、及其比賽成績(百分制),中間以空格分隔。

輸出格式:

在一行中給出總得分最高的學校的編號、及其總分,中間以空格分隔。題目保證答案唯一,沒有並列。

輸入樣例:

63 65

2 80

1 100

2 70

3 40

3 0輸出樣例:

2 150

方法一.

#include

#include

using

namespace std;

struct player

;//結構體

bool

cmp(player a,player b)

intmain()

; cin >> n;

for(

int i =

0; i < n; i++)}

}sort

(attend,attend + n,cmp)

; cout << attend[0]

.num <<

" "<< attend[0]

.grade

}

思路:建立乙個player結構體,結構體同時包括編號和成績。輸入每個人的比編號成績的同時,巢狀for迴圈從頭遍歷陣列,找到和此次輸入編號一樣的則把這次輸入成績加到前面去,最後利用sort從大到小排序,最後直接輸出開頭的就行了。但是這個做法最後乙個測試點會超時!

方法二.

#include

#include

using

namespace std;

struct player

;bool

cmp1

(player a,player b)

bool

cmp2

(player a,player b)

intmain()

; cin >> n;

for(

int i =

0; i < n; i++

)sort

(attend,attend + n,cmp2)

;for

(int i =

0,j =

1; j < n;

)//這個for迴圈將編號相同的成績加在一起

else

++j;

}sort

(attend,attend + n,cmp1)

; cout << attend[0]

.num <<

" "<< attend[0]

.grade

}

思路:上一題的優化做法,為了不超時直接不用巢狀for迴圈。這次用了兩個sort排序,第一次的排序是為了將編號相同的放在一起,然後用乙個for迴圈將編號相同的成績都加在一起。第二個排序是為了將加好的成績按從大到小排。最後輸出陣列第乙個編號和成績。這個**可以ac。

方法三.

柳神的做法,感覺比我的更簡單易懂,好像我寫的太複雜了…貼上**

#include

#include

using

namespace std;

intmain()

int val = a[1]

, t =1;

//題目要求從1開始

for(

int i =

2; i <= n; i++

)//這個for迴圈找出陣列中分數最大的數和其編號

} cout << t <<

" "<< val

}

思路:大致思路是直接輸入編號和分數,然後陣列下標就是輸入的編號,題目說是從1開始,所以不用擔心下標間斷,然後用乙個for迴圈直接從陣列裡找最大的數輸出…柳神nb!

PAT 乙級 1032 挖掘機技術哪家強

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

PAT 乙級 1032 挖掘機技術哪家強

時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 為了用事實說明挖掘機技術到底哪家強,pat組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。輸入格式 輸入在第1行給出不超過105的正整數n,即參賽人...

PAT 乙級 1032 挖掘機技術哪家強

時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 為了用事實說明挖掘機技術到底哪家強,pat組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。輸入格式 輸入在第1行給出不超過105的正整數n,即參賽人...