http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=76
#include<iostream>
#include<algorithm>
using namespace std;
struct Node


{
int s;
int e;
int v;
};
bool comp(Node a,Node b)


{
return a.e < b.e;
}
int main()


{
int n;
while(cin>>n && n)

{
int i,en;
Node infor[1001];
for(i=1;i<=n;i++)

{
scanf("%d%d",&infor[i].s,&infor[i].e);
infor[i].v = i;
}
sort(infor+1,infor+n+1,comp);
cout<<infor[1].v;
en = infor[1].e;//結束位置
for(i=2;i<=n;i++)

{
if(en < infor[i].s)

{
cout<<" "<<infor[i].v;
en = infor[i].e;
}
}
cout<<endl;
}
return 0;
}
#include<iostream>
#include<algorithm>
using namespace std;
struct Node

{
int s;
int e;
int v;
};
bool comp(Node a,Node b)

{
return a.e < b.e;
}
int main()

{
int n;
while(cin>>n && n)
{
int i,en;
Node infor[1001];
for(i=1;i<=n;i++)
{
scanf("%d%d",&infor[i].s,&infor[i].e);
infor[i].v = i;
}
sort(infor+1,infor+n+1,comp);
cout<<infor[1].v;
en = infor[1].e;//結束位置
for(i=2;i<=n;i++)
{
if(en < infor[i].s)
{
cout<<" "<<infor[i].v;
en = infor[i].e;
}
}
cout<<endl;
}
return 0;
}

