会场安排问题
来源:互联网 发布:西安行知中学李依桐 编辑:程序博客网 时间:2024/04/29 13:00
问题描述:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排
数据输入:第一行有一个正整数n,表示有n个待安排的活动,接下来的n行中,每行有两个正整数,分别表示n个待安排的活动得开始时间和结束时间。时间以0开始的分钟计。
结果输出:最少会场数。
例:5
1 23
12 28
25 35
27 80
36 50
输出 3
代码:
#include<iostream>
using namespace std;
void main()
{
int n,m,endtime,*b,*e,*time,i,result;//n存放活动个数,m存放各次循环的次数,endtime存放所有活动的最晚结束时间,
//b[]存放各活动最早开始使用的时间段,即开始时间+1,c[]存放各活动最晚使用的时间段,即结束时间
//time[]存储活动重叠数,result为求解答案,最少会场
cin>>n;
m=n;
b=new int[n];
e=new int[n];
while(m--)
{
cin>>b[m]>>e[m];
b[m]++;
}
m=n;
endtime=b[0];
while(m--) //求出最晚结束时间
if(endtime<e[m])
endtime=e[m];
time=new int[endtime+1];//以最晚结束时间创建time[]
m=endtime+1;
while(m--)
time[m]=0;//time[]置零
m=n;
while(m--)
for(i=b[m];i<=e[m];i++)//求time[]
time[i]++;
m=endtime+1;
result=0;
while(m--)//求time[]中最大数,即result
if(result<time[m])
result=time[m];
cout<<result<<endl;
system("pause");
}
- 会场安排问题
- 会场安排问题
- 会场安排问题
- 贪心--会场安排问题
- 会场安排问题
- 会场安排问题
- 会场安排问题
- 会场安排问题
- NYOJ14 会场安排问题
- 会场安排问题
- nyoj 会场安排问题
- 【会场安排问题 14】
- java--会场安排问题
- 会场安排问题
- 会场安排问题
- acm-会场安排问题
- 会场安排问题
- 会场安排问题
- Intellij 14 the supplied javaHome seems to be invalid
- CPP实现队列,(数组的方式)
- Posts Tagged 【array && sort】Merge Intervals
- 面向对象之访问修饰符及其他类的小结
- 至简为美--使用 Spring Boot 创建 RESTful 服务 (1)
- 会场安排问题
- asasasasa
- Codeforces 251A+(五一训练 C)+二分法
- Caused by: java.sql.SQLException: Operand should contain 1 column(s)
- Sublime是好编辑器之Python编译
- 字符编码 小结
- 在空白解决方案中添加第一个项目时,有时候会看不到解决方案文件
- wingdb的使用-附加进程
- html里的框架集学习记录