1. 程式人生 > >1032 挖掘機技術哪家強 (結構體陣列初始化)

1032 挖掘機技術哪家強 (結構體陣列初始化)

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

輸入格式:

輸入在第 1 行給出不超過 10​5​​ 的正整數 N,即參賽人數。隨後 N 行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號(從 1 開始連續編號)、及其比賽成績(百分制),中間以空格分隔。

輸出格式:

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

輸入樣例:

6
3 65
2 80
1 100
2 70
3 40
3 0

輸出樣例:

2 150

       很簡單的一個題目,不過在網上看了一個結構體陣列初始化的方法,覺得很好,所以把程式碼貼上來。這裡使用了建構函式,如果初始化為0,也可以用memset。當然啦,還有其他的方法,暫時就不補充了。

#include<iostream>

using namespace std;

struct Node{
	int score;
	int flag;
	Node(){
		score = 0;
		flag = 0;
	}
};

int main(){
	Node nodes[100001];
	int N, school, score, max = 0, index = 0;
	cin >> N;
	for(int i = 0; i < N; i++){
		cin >> school >> score;
		nodes[school].score += score;
		nodes[school].flag = 1;
	}
	for(int i = 0; i < 100001; i++){
		if(nodes[i].flag == 1 && nodes[i].score > max){
			max = nodes[i].score;
			index = i;
		}
	}
	cout << index << ' ' << nodes[index].score;
}