题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=76
//C++代码
#include<iostream>
#include<algorithm>
using namespace std;
struct Point{
int x,y,id;
bool operator <(const Point a) const{
if(y==a.y) return x<a.x;
return y<a.y;
}
}p[1005];
int main(){
int n,i;
while(cin>>n,n){
for(i=1;i<=n;i++){
cin>>p[i].x>>p[i].y;
p[i].id=i;
}
sort(p+1,p+n+1);
cout<<p[1].id;
int num=p[1].y;
for(i=2;i<=n;i++){
if(p[i].x>num){
cout<<" "<<p[i].id;
num=p[i].y;
}
}
cout<<endl;
}
return 0;
}