问题标题: 酷町堂:2838 活动安排

0
0
已解决
王子健
王子健
初级天翼
初级天翼

2838   活动安排        经验值:1200

题目描述 Description

在公司有一间会议室,时常被人拿出来安排活动。现在某一天里,公司有n个部门都想要使用这间会议室,并且都给出了自己的要使用的时间段。请问这间会议室最多能安排多少个活动?

输入描述 Input Description

第一行,一个整数,n(1≤n≤100)
接下来n行,第i行两个整数,sti edi,表示第i个活动开始于sti,终止于edi(sti<edi)

输出描述 Output Description

第一行是安排的第一个活动的开始时间和结束时间
第二行是最多能安排的活动数目

样例输入 Sample Input

3 1 2 1 3 2 4

样例输出 Sample Output

1 2 2

数据范围及提示 Data Size & Hint

如果第一个活动有多种安排方案,选择结束时间最早的那一个,结束时间相同的情况下选开始时间最早的

 

我的思路不太有问题,就是按照结束时间排序,然后判断输出,但是不知道哪里出了问题,请大佬帮忙看看

(这只是道贪心呀!!!我都没做对!!!)

王子健在2020-07-15 10:32:15追加了内容

错误代码如下

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct f{
	int sti, edi;
}a[150];
bool cmp(f x, f y) {
	return x.edi < y.edi;
}
int main() {
	int n;
	cin >> n;
	for (int i=1; i<=n; i++) {
		cin >> a[i].sti >> a[i].edi;
	}
	sort(a+1, a+1+n, cmp);
	int end = 0, cnt = 0;
	for (int i=1; i<=n; i++) {
		if (a[i].sti <= end) {
			cnt ++;
			end = a[i].edi;
		}
	}
	cout << a[1].sti << ' ' << a[1].edi << endl;
	cout << cnt ;
	return 0;
}

 


0
0
0
张天璨
张天璨
新手天翼
新手天翼

@王子健 

数据范围及提示 Data Size & Hint
如果第一个活动有多种安排方案,选择结束时间最早的那一个,结束时间相同的情况下选开始时间最早的



下次一定要读题读完整!cmp改一下!

 

0
0
王子健
王子健
初级天翼
初级天翼

贴沉了,来个人我送豆子吧.......

0
我要回答