CK007[贪心]-高级钟点秘书-会议安排问题

代码骑士
优质创作者: 游戏开发技术领域
2023-01-05 11:50:33

一、问题描述

 

二、问题重述

 

三、问题分析

 

四、算法设计

伪代码

 

真代码

#include<stdio.h>
#include<algorithm>
const int N=10010;//数组最大长度 
struct Meet{
	int beg;
	int end;
}meet[N];

bool comp(Meet a,Meet b){
	if(a.end==b.end){
		return a.beg>b.beg;
	}
	return a.end<b.end;
}

int main()
{
	int n=0;
	printf("输入会议个数:");
	scanf("%d",&n);
	printf("输入会议开始时间与结束时间,中间用空格隔开\n");
	for(int i=0;i<n;i++){
		scanf("%d%d",&meet[i].beg,&meet[i].end);
	} 
	//排序
	std::sort(meet,meet+n,comp);
	//贪心
	int ans=1;
	int last=meet[0].end;
	for(int i=1;i<n;i++){
		if(last<=meet[i].beg){
			ans++;
			last=meet[i].end;
		}
	} 
	printf("最多可安排的会议个数是:%d",ans);
	return 0;
}

样例输出:

 

...全文
25 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5

社区成员

发帖
与我相关
我的任务
社区描述
考研408:数据结构、计算机组成原理、操作系统、计算机网络
学习方法考研面试 其他
社区管理员
  • 代码骑士
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧