PAT-BASIC1047——程式設計團體賽
阿新 • • 發佈:2018-12-17
題目描述:
知識點:計數
思路:用一個大小為1001的陣列來分別儲存每隊的成績
時間複雜度是O(n),其中n為所有參賽隊員總數。空間複雜度是O(1001)。
C++程式碼:
#include<iostream> #include<string> using namespace std; int calculateQueueNumber(string number); int main(){ int n; cin >> n; string number; int score; int total[1001]; for(int i = 0; i < 1001; i++){ total[i] = 0; } for(int i = 0; i < n; i++){ cin >> number >> score; total[calculateQueueNumber(number)] += score; } int maxIndex = 0; for(int i = 1; i < 1001; i++){ if(total[i] > total[maxIndex]){ maxIndex = i; } } cout << maxIndex << " " << total[maxIndex] << endl; return 0; } int calculateQueueNumber(string number){ int result = 0; for(int i = 0; i < number.length(); i++){ if(number[i] == '-'){ break; } result = result * 10 + (number[i] - '0'); } return result; }
C++解題報告: