zoukankan      html  css  js  c++  java
  • Code 墓地 问题 A: 看电视(区间贪心)

    题目描述

    暑假到了,小明终于可以开心的看电视了。但是小明喜欢的节目太多了,他希望尽量多的看到完整的节目。
    现在他把他喜欢的电视节目的转播时间表给你,你能帮他合理安排吗?

    输入

    输入包含多组测试数据。每组输入的第一行是一个整数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<iostream>
    #include<algorithm>
    using namespace std;
    
    struct AC
    {
    	int x,y;
    }a[100+10];
    
    bool cmp(AC a,AC b)
    {
    	if (a.y!=b.y)
    	return a.y<b.y;
    	else
    	return a.x>b.x;
    }
    
    int main()
    {
    	int n,m,j,k,i,T;
    	while (cin>>n && n)
    	{
    		for (i=0;i<n;i++)
    		cin>>a[i].x>>a[i].y;
    		
    		sort(a,a+n,cmp);
    	
    		int ans=1;
    		int end = a[0].y;
    		for (i=1;i<n;i++)
    		{
    			if (a[i].x>=end)
    			{
    				end = a[i].y;
    				ans++;
    				
    			}
    		}
    		cout<<ans<<endl;
    	}
    	
    	
    	return 0;
    }
  • 相关阅读:
    learning java identityHashCode
    learning java 获取环境变量及系统属性
    learning java 获取键盘输入
    learning svn add file execuable
    φ累积失败检测算法(转)
    层次锁(转)
    一致性算法中的节点下限(转)
    Fast Paxos(转)
    Zookeeper的一致性协议:Zab(转)
    FLP impossibility
  • 原文地址:https://www.cnblogs.com/Romantic-Chopin/p/12451092.html
Copyright © 2011-2022 走看看