1. 程式人生 > >演算法愛好者——演算法題:最大點集 ? 待解決

演算法愛好者——演算法題:最大點集 ? 待解決

P為給定的二維平面整數點集。定義 P 中某點x,如果x滿足 P 中任意點都不在 x 的右上方區域內(橫縱座標都大於x),則稱其為“最大的”。求出所有“最大的”點的集合。(所有點的橫座標和縱座標都不重複, 座標軸範圍在[ 0, 1e9 ) 內)

如下圖:實心點為滿足條件的點的集合。請實現程式碼找到集合 P 中的所有 ”最大“ 點的集合並輸出。
這裡寫圖片描述

格式

第一行輸入點集的個數 N, 接下來 N 行,每行兩個數字代表點的 X 軸和 Y 軸。對於 50%的資料, 1 <= N <= 10000;對於 100%的資料, 1 <= N <= 500000。輸出“最大的” 點集合, 按照 X 軸從小到大的方式輸出,每行兩個數字分別代表點的 X 軸和 Y軸。

樣例輸入

5
1 2
5 3
4 6
7 5
9 0

樣例輸出

4 6
7 5
9 0

思路