7-3 Swan学院社团招新

Swan学院社团招新,招新宣讲会分散在不同时间段,大一新生小花花想知道自己最多能完整的参加多少个招新宣讲会(参加一个招新宣讲会的时候不能中断或离开)。
【问题说明】这个问题是对几个相互竞争的招新宣讲会活动进行调度,它们都要求以独占的方式使用某一公共资源(小花花)。调度的目标是找出一个最大的相互兼容的活动集合。
活动选择问题就是要选择出一个由互相兼容的问题组成的最大子集合。
【温馨提示】应先将所有的活动按照结束时间升序排列,然后再选择可能的时间组合,并求出最大的组合数,使用qsort()排序函数是一个不错的选择。qsort的函数原型是: void qsort(voidbase,size_t num,size_t
width,int(__cdeclcompare)(const void,const void)); 功 能: 使用快速排序例程进行排序 头文件:stdlib.h 参数: 1 待排序数组首地址;2 数组中待排序元素数量;3 各元素的占用空间大小;4指向函数的指针,用于确定排序的顺序

输入格式:

第一行为n,表示有n个招新宣讲会,接下来n行每行两个整数表示开始时间和结束时间,由从招新会第一天0点开始的小时数表示(24小时制)。 n <= 1000 。

输出格式:

最多参加的招聘会个数。

输入样例:

 3  9 10  10 20  8 15

输出样例:

2

代码如下:
又双叒叕vector+sort排序做法
温馨提示里的qsort()排序函数好像是快速排序算法,管它呢,做出来就好
先把所有节目按结束时间排序,再依次判断当前节目的开始时间是否在前一个节目的结束时间后

#include<bits/stdc++.h>
using namespace std;
struct menu{int start,end;
};
vector<menu> v;
bool cmp(menu m1,menu m2){return m1.end < m2.end;
}
int main(){int n,i,j=0,cnt=1;cin >> n;for(i=0;i<n;i++){menu m;cin >> m.start >> m.end;v.push_back(m);}sort(v.begin(),v.end(),cmp);for(i=1;i<n;i++){if(v[j].end<=v[i].start){cnt++;j = i;}}cout << cnt;return 0;
}

官方题解:
本题是对贪心算法的理解。首先对活动的结束时间进行升序排序;然后依次比对后一项宣讲的开始时间与前一项宣讲的结束时间,如果后一项的开始时间晚于前一项的结束时间,则说明小花花可以参加后面一项的宣讲,以此类推遍历所有的时间。
(我误打误撞地使用了贪心算法???)

官方题解给出的第二种做法【题目温馨提示的qsort
(好负责的官方~

#include<iostream>
#include<algorithm>
using namespace std;struct person
{int startime;int endtime;
}a[1010];//结束时间升序
int cmp(const void* x,const void* y)
{struct person x1 = *(struct person*)x;struct person y1 = *(struct person*)y;return x1.endtime - y1.endtime;
}int main()
{int n;ios::sync_with_stdio(false);cin>>n;for(int i=0 ; i<n ; i++){cin>>a[i].startime>>a[i].endtime;}qsort(a,n,sizeof(a[0]),cmp);int count=1;//计数,可以参加的宣讲会数量int time=a[0].endtime;//记录第一个宣讲会结束的时间for(int i=1 ; i<=n ; i++){if(a[i].startime>=time){//下一个个宣讲会的开始时间大于当前记录的宣讲会的结束时间,则第二个宣讲会可以参加time=a[i].endtime;count++;}}cout<<count<<endl;return 0;
}

7-3 Swan学院社团招新相关推荐

  1. 【C++】 Swan学院社团招新(PTA)

    题目描述 Swan学院社团招新,招新宣讲会分散在不同时间段,大一新生小花花想知道自己最多能完整的参加多少个招新宣讲会(参加一个招新宣讲会的时候不能中断或离开). [问题说明]这个问题是对几个相互竞争的 ...

  2. 7-4 Swan学院社团招新 (20 分)

    7-4 Swan学院社团招新 (20 分) Swan学院社团招新,招新宣讲会分散在不同时间段,大一新生小花花想知道自己最多能完整的参加多少个招新宣讲会(参加一个招新宣讲会的时候不能中断或离开). [问 ...

  3. PTA Swan学院社团招新(sort排序)

    Swan学院社团招新,招新宣讲会分散在不同时间段,大一新生小花花想知道自己最多能完整的参加多少个招新宣讲会(参加一个招新宣讲会的时候不能中断或离开). [问题说明]这个问题是对几个相互竞争的招新宣讲会 ...

  4. Swan学院社团招新

    Swan学院社团招新,招新宣讲会分散在不同时间段,大一新生小花花想知道自己最多能完整的参加多少个招新宣讲会(参加一个招新宣讲会的时候不能中断或离开). [问题说明]这个问题是对几个相互竞争的招新宣讲会 ...

  5. 7-1 Swan学院社团招新 (20分)

    7-1 Swan学院社团招新 (20分) Swan学院社团招新,招新宣讲会分散在不同时间段,大一新生小花花想知道自己最多能完整的参加多少个招新宣讲会(参加一个招新宣讲会的时候不能中断或离开). [问题 ...

  6. C++ PTA Swan学院社团招新

    文章目录 一.题目 二.算法思想 三.代码 一.题目 二.算法思想 存储结构使用的是结构体数组,每一个结构体中存放着每一个宣讲会的开始时间及其结束时间. 根据题目的提示,我们可以使用双重循环,对这些宣 ...

  7. php面试自我介绍结束语,面试自我介绍 结尾 社团招新面试自我介绍

    自我介绍在我们的生活中会经常用到,在大学社团面试中,如何让自我介绍起到让人耳目一新的效果需要一定的技巧,下面是小编整理的社团招新面试自我介绍,欢迎大家阅读. 社团招新面试自我介绍篇1 亲爱的老师.同学 ...

  8. 计算机协会招新报名表,社团招新策划

    在丹桂飘香的新学期里,动漫社团迎来了一年一度的纳新活动.在纳新活动中,爱好动漫的新生们可以加入我们社团.以下是出国留学网小编为您整理的大学社团:动漫社团招新策划,供您参考,更多详细内容请点击实用资料查 ...

  9. 新乡学院计算机社团,【图片】新乡学院学生社团招新总贴_新乡学院吧_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 茶道协会: 茶道协会成立于2011年9月,本着丰富广大同学的业余生活的宗旨,带领大家寻根溯源,深入了解祖国历史悠久的茶文化,通过开展一系列的茶室活动,不断 ...

最新文章

  1. 后台取得客户端控件的值(ListBox)
  2. easymock 图片_easy-mock的使用
  3. 哎哟我去!betterzip居然支持这么多压缩格式!
  4. 2016年春季计算机应用基础,东北师范2016年春季《计算机应用基础》期末考核
  5. Web系统开发构架再思考-前后端的完全分离
  6. 北京内推 | 微软亚洲互联网工程院(STCA)招聘NLP科研实习生
  7. java一维数组的特点,数据结构:java数组特点以及声明数组类
  8. 谁能给我提供一个类似下面的网站模板,先谢了
  9. Command(命令)--对象行为型模式
  10. Enter passphrase for key '/home/mha/.ssh/id_rsa解决方法
  11. .Net程序员学用Oracle系列(16):访问数据库(ODP.NET)
  12. iOS腾讯百度面试题
  13. Ubuntu18.04下NVIDIA CUDA安装指南和DeepLearning4J GPU配置
  14. []TLD code run
  15. ip地址查询 免费 接口 linux 外网地址查询
  16. 阴阳是世界的生成之理,亦是其发展之理。道生一,一生二,二生三,三生万物。...
  17. 微信小程序摄像头监控_微信小程序读取摄像头 微信调用摄像头
  18. 【解决】ScriptableObject.ctor is not allowed to be called from a MonoBehaviour constructor...
  19. Design Compiler初体验
  20. 【图像识别】【读论文】模式识别方法概论模式识别及其在图像处理中的应用

热门文章

  1. 第十篇 Spring AOP中Load Time Weaver
  2. 河南企服网:语音自动外呼机器人效果好吗?
  3. win11/win10以win+r方式打开cmd不是管理员
  4. 百度将与日本雅虎开展广告业务合作
  5. scrapy-redis分布式爬虫全站爬取顶点小说网
  6. 泰坦尼克号python数据分析统计服_Python-数据可视化案例分析之泰坦尼克号(二)...
  7. 报错 Unsatisfied dependency expressed through field ‘cruisePlanMapper‘ 解决方案
  8. vs2019离线下载安装包
  9. 抽象工厂模式(图画版)
  10. C++——深度优先搜索