算法导论16.1
#include<cstdio>
#include<algorithm>
using namespace std;
struct node
{
int s,e;
};
bool cmp(node a,node b)
{
return a.e<b.e;
}
int main()
{
int n,i;
node q[1000];
int ans;
int flage;
while(~scanf("%d",&n)&&n)
{
for(i=1;i<=n;i++)
scanf("%d%d",&q[i].s,&q[i].e);
sort(q+1,q+n+1,cmp);
flage=q[1].e;
ans=1;
for(i=2;i<=n;i++)
{
if(q[i].s>=flage)
{
ans++;
flage=q[i].e;
}
}
printf("%d\n",ans);
}
return 0;
}
算法导论16.1活动选择问题
本文提供了一个解决活动选择问题的C++实现方案。通过定义结构体存储每个活动的开始时间和结束时间,并使用贪心算法进行排序和选择,最终输出可容纳的最大互不冲突活动数。
702

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



