#include<iostream>
#include<memory.h>
using namespace std;
int a[105],b[105],c[105],d[105];
int main()
{
int n,i,timestart=0,j,temp,t,t1,k;
memset(d,0,sizeof(d));
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
c[i]=i;
}
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(b[j]<b[i])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
t=a[i];
a[i]=a[j];
a[j]=t;
t1=c[i];
c[i]=c[j];
c[j]=t1;
}
int sum=0;
k=0;
for(i=1;i<=n;i++)
{
if(a[i]>=timestart)
{
timestart=b[i];
d[k]=c[i];
sum++;
k++;
}
}
for(k=0;k<sum;k++)
{
if(k==sum-1)
cout<<d[k]<<endl;
else
cout<<d[k]<<",";
}
return 0;
}转载于:https://www.cnblogs.com/bhlsheji/p/5028780.html
本文展示了一个使用C++编写的程序示例,该程序主要实现了任务调度算法,通过输入任务开始时间和结束时间来确定最优的任务执行顺序。文章通过具体的代码实现介绍了如何进行任务排序并输出最终的任务执行列表。
521

被折叠的 条评论
为什么被折叠?



