看电影及活动选择问题

  • 看电影
    • 题目
    • 输入格式
    • 输出格式
    • 输入样例
    • 输出样例
    • 实现代码
  • 活动选择问题
    • 题目
    • 输入格式
    • 输出格式
    • 输入样例
    • 输出样例
    • 样例解释
    • 实现代码
  • 注意事项

看电影

题目

终于到周末了,明明是特别喜欢看电影。他想在一天内尽量多的看到完整的多部电影。 现在他把他喜欢的电影的播放时间表给你,希望你能帮他合理安排。

输入格式

输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示明明喜欢的电影的总数。
接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i个电影的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。当n=0时,输入结束。

输出格式

对于每组输入,输出能完整看到的电影的个数。

输入样例

在这里给出一组输入。例如

12

1 3

3 4

0 7

3 8

15 19

15 20

10 15

8 18

6 12

5 10

4 14

2 9

0

输出样例

在这里给出相应的输出。例如

5

实现代码

#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
#define MAXN 10000int movieAllNum = 0;//电影总部数
int movieWatch = 0;//最大可观看电影部数struct movie{int starttime;int endtime;
}movieSee[MAXN];void input(){int i;for(i = 0;i < movieAllNum;i++){cin>>movieSee[i].starttime;cin>>movieSee[i].endtime;}
}bool cmp(movie a,movie b){return a.endtime < b.endtime;
}void calculate(){int i = 0;int finaltime = movieSee[i].endtime;movieWatch ++;for(i = 1;i < movieAllNum;i++){if(finaltime <= movieSee[i].starttime){movieWatch++;finaltime = movieSee[i].endtime;}}cout<<movieWatch<<endl;
}void clear(){int i;for(i = 0;i < movieAllNum;i++){movieSee[i].starttime = 0;movieSee[i].endtime = 0;}movieWatch = 0;movieAllNum = 0;
}int main(){cin>>movieAllNum;while(movieAllNum != 0){input();sort(movieSee,movieSee + movieAllNum,cmp);calculate();clear();cin>>movieAllNum;}}

活动选择问题

题目

输入格式

输出格式

输出最多能安排的活动个数。

输入样例

11
3 5
1 4
12 14
8 12
0 6
8 11
6 10
5 7
3 8
5 9
2 13

输出样例

4

样例解释

安排的4个活动为1 4, 5 7, 8 11和12 14。

实现代码

#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
#define MAXN 10000int allActivities = 0;//活动总个数
int useActivities = 0;//最大可安排的个数 struct activity{int starttime;int endtime;
}arrActivities[MAXN];void input(){cin>>allActivities;int i;for(i = 0;i < allActivities;i++){cin>>arrActivities[i].starttime;cin>>arrActivities[i].endtime;}
}bool cmp(activity a,activity b){return a.endtime < b.endtime;
}void calculate(){int i = 0;int finaltime = arrActivities[i].endtime;useActivities ++;for(i = 1;i < allActivities;i++){if(finaltime <= arrActivities[i].starttime){useActivities ++;finaltime = arrActivities[i].endtime;}}cout<<useActivities;
}int main(){input();sort(arrActivities,arrActivities + allActivities,cmp);calculate();
}

注意事项

两道题的输入输出格式是有差异的!!

【计算机算法】贪心算法——看电影、活动选择问题相关推荐

  1. [python算法]贪心算法+实例

    目录 什么是贪心算法 应用实例 找零问题 背包问题 拼接数字问题 活动选择问题 什么是贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择. 也就是说,不从整体最优上 ...

  2. 用计算机听音乐和看电影的ppt,五年级下册信息技术课件-第六课 用计算机听音乐和看电影 川教版 (共13张PPT)...

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  3. JavaScript 算法 -- 贪心算法

    文章目录 贪心算法 例题一:分饼干 例题二:买卖股票的最佳时机 II 贪心算法 贪心算法是算法设计的一种方法. 期盼通过每个阶段的局部最优选择,从而达到全局的最优,但最后的结果不一定最优. 例题一:分 ...

  4. 用计算机听音乐和看电影教学反思,五年级下册信息技术《用计算机听音乐和看电影》教学设计...

    一.教学目标 知识技能目标:①学生能够运用windows系统自带的CD播放器和运用超级解霸听音乐.看电影.②通过学习,增强学生创新意识. 过程与方法目标:①能够知道计算机播放音乐和电影的方法,提高学生 ...

  5. 用计算机听音乐和看电影的ppt,小学信息技术川教版五年级下册第六课 用计算机听音乐和看电影教案...

    这是一份小学信息技术川教版五年级下册第六课 用计算机听音乐和看电影教案,共2页. 第六课用计算机听音乐和看电影 一.教学目标 知识技能目标: 能够运用windows自带播放器和其它播放器听音乐.看电影 ...

  6. 基础算法 —— 贪心算法

    [概述] 贪心算法是从问题的初始状态出发,通过若干次的贪心选择而得到的最优值的一种求解策略,即贪心策略. 简单来说,贪心策略是一种在每次决策时采取当前意义下最优策略的算法,做出的选择至少在某种约束条件 ...

  7. C语言会场安排问题贪心算法,贪心算法解决会场安排问题多处最优服务次序问题(含源代码).doc...

    贪心算法解决会场安排问题多处最优服务次序问题(含源代码) 西 安年月日-,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源.每个活动i都有一个要求使用该资源 ...

  8. 相关算法---贪心算法

    贪心算法 1. 理论基础 贪心的本质就是选择每一阶段的局部最优,从而达到全局最优. 使用贪心最好的策略就是举反例,如果想不到反例,就试一试贪心. 刷题或者面试的时候,手动模拟一下感觉可以局部最优推出整 ...

  9. 部分背包的贪婪算法 java_使用JAVA实现算法——贪心算法解决背包问题

    packageBasePart;importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.IOException ...

  10. 基础算法 —— 贪心算法

    [概述] 贪心算法是从问题的初始状态出发,通过若干次的贪心选择而得到的最优值的一种求解策略,即贪心策略. 简单来说,贪心策略是一种在每次决策时采取当前意义下最优策略的算法,做出的选择至少在某种约束条件 ...

最新文章

  1. 通讯波形记录——I2S、I2C、Uart、SPI
  2. 回归模型-线性回归算法
  3. CSAPP第五章就在“扯淡”!
  4. 如何搭建一套融资租赁业务系统
  5. 2017最新顺口溜出炉(超级经典)!
  6. 实现模糊查询并忽略大小写
  7. leetcode268. 缺失数字
  8. Bootstrap 滚动监听插件Scrollspy 的事件
  9. 群联固态硬盘修复工具_固态硬盘掉速修复小教程,SATA和NVMe协议通用
  10. Unity延迟和重复调用方法
  11. 20-21-2网络管理quiz3
  12. 水很深的深度学习-Task05循环神经网络RNN
  13. parsley.js自定义验证规则之大小写
  14. 求极限简单总结 (基础)
  15. 信号处理-基于希尔伯特解调(包络谱)的轴承故障诊断实战,通过python代码实现超详细讲解
  16. Charles手机 APP 抓包仅需这三步
  17. Bootstrap 弹出框modal 垂直居中(适用各种分辨率窗口)
  18. /etc/login.defs配置文件详解
  19. Netty in Action 翻译说明
  20. python 实现简单画板_python 画板示例源码(可做签名/涂鸦)

热门文章

  1. 基于html5的音乐网站开题,开题报告基于HTML5的音乐网站.doc
  2. Altium 在PCB重新编号更新到SCH原理图的方法
  3. 2021巢湖第一中学高考成绩查询,2021年巢湖高中学校排名及录取分数线排名
  4. 2017年研究生数学建模优秀论文汇总
  5. 微信小程序 发送模板消息的功能实现
  6. 嵌入式软件面试准备与知识点总结
  7. app 上架到苹果应用商店
  8. 极简效率指南:数据分析师如何高效工作和提升自己
  9. [角谷猜想 || 冰雹猜想]的一些瞎想
  10. 经典sql题目,给每个部门中工资最低的员工涨薪1000