1. 程式人生 > >PAT-BASIC1082——射擊比賽

PAT-BASIC1082——射擊比賽

題目描述:

知識點:格式化輸出

思路:按題述程式設計即可

注意:最後輸出編號的時候需要格式化輸出,前面補0至4位。

時間複雜度是O(N)。空間複雜度是O(1)。

C++程式碼:

#include<iostream>

using namespace std;

int main(){
	int N;
	cin >> N;
	
	int tempID;
	int tempX;
	int tempY;
	int tempDistance;
	
	int winnerID;
	int rookieID;
	
	int cloestDistance;
	int longestDistance;
	
	cin >> tempID >> tempX >> tempY;
	
	winnerID = tempID;
	rookieID = tempID;
	
	cloestDistance = tempX * tempX + tempY * tempY;
	longestDistance = tempX * tempX + tempY * tempY;
	
	for(int i = 1; i < N; i++){
		cin >> tempID >> tempX >> tempY;
		tempDistance = tempX * tempX + tempY * tempY;
		if(tempDistance < cloestDistance){
			winnerID = tempID;
			cloestDistance = tempDistance;
		}
		if(tempDistance > longestDistance){
			rookieID = tempID;
			longestDistance = tempDistance;
		}
	}
	
	printf("%04d %04d", winnerID, rookieID);
	
	return 0;
}

C++解題報告: