世界杯来了(贪心算法)

编程入门 行业动态 更新时间:2024-10-21 09:31:27

世界杯<a href=https://www.elefans.com/category/jswz/34/1770061.html style=来了(贪心算法)"/>

世界杯来了(贪心算法)

题目描述:

2014年是世界杯年,小明作为一个资深球迷必然不会错过这场足球界的饕餮盛宴。但是由于比赛太多,而且并不是任何时间小明都能够看球赛,所以小明把他重点关注的那些球赛的转播时间表给你,希望你能够帮他合理安排一下,让他能够尽量多的看到完整的球赛。(注意,一场比赛结束观看,可以立马看另一场比赛,也就是一场比赛结束和一场比赛开始的时间相同是不冲突的)

输入格式:

输入包含多组测试数据,每组输入的第一行是一个整数n(n<=100),表示小明重点关注的球赛数目。(实际上一届世界杯总共有64场球赛,这里我们假设一届世界杯最多有100场比赛)
接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i场球赛的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。(这里我们也不限制每场球赛必须是90分钟)

当n=0时,输入结束。

输出格式:

对于每组输入,输出一行,表示能完整看到的球赛的场数。

样例输入:

8
39 81
16 79
87 93
81 90
79 83
97 100
87 98
89 100
0

样例输出:

4

时间限制: 1000ms
空间限制: 32MB

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){int n,a[101]={},b[101]={};while(1){cin>>n;if(n==0){break;}for(int i=1;i<=n;i++){cin>>a[i]>>b[i];}for(int i=1;i<n;i++){for(int j=1;j<n;j++){if(b[j]>b[j+1]){swap(b[j],b[j+1]);swap(a[j],a[j+1]);}}}int end=b[1],c=1;for(int i=2;i<=n;i++){if(a[i]>=end){end=b[i];c++;}}cout<<c<<endl;}return 0;
} 

更多推荐

世界杯来了(贪心算法)

本文发布于:2024-03-23 15:30:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1739807.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:来了   世界杯   贪心   算法

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!