#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int start;
int finish;
int id;
}Activity;
Activity a[105];
int Compare(const void* a,const void* b)
{
Activity* x=(Activity*)a;
Activity* y=(Activity*)b;
return x->finish - y->finish;
}
int main()
{
int n,i,m,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&a[i].start,&a[i].finish);
a[i].id=i;
}
qsort(a,n,sizeof(Activity),Compare);
k=1;
printf("%d",a[1].id);
for(m=2;m<=n;m++)
{
if(a[m].start>=a[k].finish)
{
printf(",%d",a[m].id);
k=m;
}
}
printf("\n");
return 0;
}
/**************************************
Problem id : SDUT OJ 1298
User name : 2333
Result : Accepted
Take Memory : 288K
Take Time : 0MS
Submit Time : 2016-07-22 08:06:32
**************************************/
最佳安排序列为:1,4,5。