Problem Description
比如有5个活动,开始与截止时刻分别为:
最佳安排序列为:1,4,5。
Input
以后输入n行,分别输入序号为1到n的活动使用中心的开始时刻a与截止时刻b(a,b为整数且0<=a,b<24,a,b输入以空格分隔)。
Output
Example Input
6 8 10 9 16 11 16 14 15 10 14 7 11
Example Output
1,5,4
#include<stdio.h>
struct
{
int begin;
int end;
int xu;
}show[110],t;
int main()
{
int n,i,j,per[110];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&show[i].begin,&show[i].end);
show[i].xu=i+1;
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(show[j].end>show[j+1].end)
{
t=show[j];show[j]=show[j+1];show[j+1]=t;
}
}
}
int flag=0,k=0;
for(i=0;i<n;i++)
{
if(show[i].begin>=k)
{
k=show[i].end;
per[flag]=show[i].xu;
flag++;
}
}
for(i=0;i<flag;i++)
{
if(i==flag-1) printf("%d\n",per[i]);
else printf("%d,",per[i]);
}
return 0;
}