ACM 会场安排问题 最简单的解法
2015-01-10 22:19
260 查看
/*会场安排问题 ACM 第一行有1 个正整数k,表示有k 个待安排的活动。接下来的k 行中,每行有2 个正整数,分别表示k 个待安排的活动开始时间和结束时间。时间以0 点开始的分钟计。
希望使用尽可能少的会场. 设计算法求出 需要的最少会场数.
*/
// 这道题有很多种做法, 最流行的时贪心算法
// 但我发现了一个 特殊的做法 ,可以把这道题变得 非常简单
#define NUM 1440
int main(int argc, const char * argv[]) {
// 这道题时间最小剂量时间是分钟 那么 一天有 24 * 60 = 1440 分钟
int times[NUM] = {0};
int theMeetingCount = 0;//会场数;
int beginTime = 0, endTime = 0;//每个会场的开始 结束 时间;
scanf("%d", &theMeetingCount);//得到会场数
for (int i = 0; i < theMeetingCount; i++) {
scanf("%d %d", &beginTime, &endTime);
for (int j = beginTime; j <= endTime; j++) {
times[j] += 1;
}
}
int max = 0;
for (int i = 0; i < NUM; i++) {
max = max > times[i] ? max : times[i];//得到times 数组中最大的值
}
printf("%d", max);//这个最大值就是需要的最少会场数 很神奇哦 不信 试试!
return 0;
}
![](https://img-blog.csdn.net/20150110224309912?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjUxNzMwNTc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
希望使用尽可能少的会场. 设计算法求出 需要的最少会场数.
*/
// 这道题有很多种做法, 最流行的时贪心算法
// 但我发现了一个 特殊的做法 ,可以把这道题变得 非常简单
#define NUM 1440
int main(int argc, const char * argv[]) {
// 这道题时间最小剂量时间是分钟 那么 一天有 24 * 60 = 1440 分钟
int times[NUM] = {0};
int theMeetingCount = 0;//会场数;
int beginTime = 0, endTime = 0;//每个会场的开始 结束 时间;
scanf("%d", &theMeetingCount);//得到会场数
for (int i = 0; i < theMeetingCount; i++) {
scanf("%d %d", &beginTime, &endTime);
for (int j = beginTime; j <= endTime; j++) {
times[j] += 1;
}
}
int max = 0;
for (int i = 0; i < NUM; i++) {
max = max > times[i] ? max : times[i];//得到times 数组中最大的值
}
printf("%d", max);//这个最大值就是需要的最少会场数 很神奇哦 不信 试试!
return 0;
}
相关文章推荐
- acm-会场安排问题
- 南阳理工acm14 会场安排问题(简单贪心题+排序)
- ACM 会场安排问题
- 南工ACM:会场安排问题
- 【ACM】nyoj_14_会场安排问题_201308151955
- 2017/4/3 ACM会场安排问题
- acm 会场安排问题
- C语言 南阳理工ACM 14 会场安排问题
- ACM 会场安排问题 java
- 会场安排问题 http://acm.nyist.net/JudgeOnline/problem.php?pid=14
- NYOJ 14.(贪心) 会场安排问题
- nyist 14 会场安排问题
- NYOJ14 会场安排问题
- NYOJ 14 会场安排问题 贪心算法 之 选择不相交区间
- NYOJ-14 会场安排问题 -----贪心
- 贪心算法——NY 14 会场安排问题
- 一个简单文本处理问题的多种解法
- 会场安排问题
- 【求助】杭电ACM 1001 一道简单问题,老是PE
- 会场安排问题