ACM——今年暑假不AC

Description

“今年暑假不AC?”
“是的。”

“那你干什么呢?”

“看世界杯呀,笨蛋!”

“@#$%^&*%...”

确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。

作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心
国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看
尽量多的完整节目)

Input

输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据
Ti_s,Ti_e
(1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。

Output

对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。

Sample Input

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

Sample Output

5

解释:这题主要用到了贪心算法思想,根据节目的停止播放时间来从小到大排序,然后依次比较前一个节目的结束时间和后一个时间的开始时间是否

对应的上,从而起到最大化作用

 1 #include<stdio.h>
 2
 3 #include<algorithm>
 4
 5 using namespace std;
 6
 7 int n;
 8
 9 struct show
10
11 {
12     int start;
13     int end;
14
15     show(){};//去掉这个的话下面pro[]会找不到合适的构造函数
16
17     show(int i,int a,int b)
18     {
19         pro[i].start=a;
20         pro[i].end=b;
21     };
22
23 }pro[101];
24
25 bool cmp(show a,show b)
26 {
27     return a.end<b.end;
28 }
29
30
31
32
33
34
35
36 int main()
37 {
38     int n;
39     while(scanf("%d",&n)!=EOF&&n)
40     {
41         int a,b;
42         for(int i=0;i<n;i++)
43         {
44             scanf("%d%d",&a,&b);
45             show(i,a,b);
46         }
47
48         sort(pro,pro+n,cmp);//把end从高到低排列
49
50         int temp=pro[0].start;
51
52         int flag=0;
53
54         for (int i=0;i<n;i++)
55         {
56             if (pro[i].start>=temp)
57             {
58                 flag++;
59                 temp=pro[i].end;
60             }
61         }
62
63         printf("%d\n",flag);
64     }
65 }
时间: 2024-08-03 14:33:13

ACM——今年暑假不AC的相关文章

ACM 今年暑假不AC

"今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋!" "@#$%^&*%..." 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了. 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事).非常6+7.超级女生,以及王小丫的<开心辞典>等等,假设你已经知

今年暑假不AC hdu2037

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2037 今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 47163    Accepted Submission(s): 25332 Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世

Hdu 2037 今年暑假不AC

今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 27586    Accepted Submission(s): 14578 Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也

HDU 2037 今年暑假不AC (贪心)

HDU 2037 今年暑假不AC (贪心) 题目: http://acm.hdu.edu.cn/showproblem.php?pid=2037 非常经典的活动安排问题变形, 与算法教材的活动安排一样,根据结束时间进行排序,然后相容的累加即可. // 经典贪心问题 活动时间安排的简单变形 // 按活动结束时间,递增排序, 结束时间早的,优先选择 #include <bits/stdc++.h> using namespace std; typedef struct active { int s

杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse&amp;#39; Trade》《今年暑假不AC》《排名》《开门人和关门人》

http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=3 1.3.1 FatMouse' Trade #include <algorithm> /* 题意:价值/代价的比值来排序,买比值大的. Sample Input 5 3 7 2 4 3 5 2 20 3 25 18 24 15 15 10 -1 -1 Sample Output 13.333 31.500 */ #include<stdio.h>

HDU 2037 今年暑假不AC(贪心,区间更新,板子题)

今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 55813    Accepted Submission(s): 30009 Problem Description “今年暑假不AC?” “是的.” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...”确实如此,世界杯来了,球迷的节日也来了,估计很多AC

HDU 今年暑假不AC (贪心)

今年暑假不AC Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 58   Accepted Submission(s) : 31 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description "今年暑假不AC?" "是的.&quo

HDU2037今年暑假不AC(贪心)

Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了.作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事).非常6+7.超级女生,以及王小丫的<开心辞典>等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽

杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse&#39; Trade》《今年暑假不AC》《排名》《开门人和关门人》

http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=3 1.3.1 FatMouse' Trade #include <algorithm> /* 题意:价值/代价的比值来排序,买比值大的. Sample Input 5 3 7 2 4 3 5 2 20 3 25 18 24 15 15 10 -1 -1 Sample Output 13.333 31.500 */ #include<stdio.h>