【Intervals POJ 區間覆蓋】
阿新 • • 發佈:2019-02-03
#include<cstdio> #include<algorithm> #define max(a,b) (a>b?a:b) using namespace std; struct point{ int x,y; }a[50005]; int cmp(point a,point b){ if(a.x==b.x) return a.y<b.y; return a.x<b.x; } int main(){ int n; while(~scanf("%d",&n)){ for(int i=0;i<n;i++) scanf("%d%d",&a[i].x,&a[i].y); sort(a,a+n,cmp); int ta=a[0].x,tb=a[0].y; for(int i=1;i<n;i++){ if(tb>=a[i].x){ tb=max(a[i].y,tb); } else{ printf("%d %d\n",ta,tb); ta=a[i].x; tb=a[i].y; } } printf("%d %d\n",ta,tb); } }