zoukankan      html  css  js  c++  java
  • J

    题目连接 http://acm.hust.edu.cn/vjudge/contest/121192#problem/J

    题目要求求输出能完整看到的电视节目的最多个数,要运用贪心算法,找出最优条件求最优解。

    所以找出最优条件非常关键。每个节目结束的越早能看的节目就越多,所以对结束时间进行排序,

    开始时间也跟着结束时间变化。所以要用冒泡排序 对两个时间进行排序。

    #include<iostream>
    using namespace std;
    int main(void)
    {
    	int n,i,j,k,s,a[100],b[100];
    	while(cin>>n&&n)
    	{
    		for(i=0;i<n;++i)
    		cin>>a[i]>>b[i];
            for(i=0;i<n-1;++i)
            {
    		for(j=0;j<n-i-1;++j)//冒泡排序
    		{
    			if(b[j]>b[j+1])
    			{
    				k=b[j];
    				b[j]=b[j+1];
    				b[j+1]=k;
    				k=a[j];     //很关键
    				a[j]=a[j+1];
    				a[j+1]=k;
    			}
    		}
    		
    	    }
    		    s=1,j=0;
    			for(i=0;i<n;++i)
    			{
    				if(a[i]>=b[j])
    				{
    				    j=i;//只要与满足条件的b 比较,所以单独的J来记录b的值
    					++s;
    				}
    			}
    			cout<<s<<endl;
    	}
    }
    
  • 相关阅读:
    1 Java基础知识
    2 Java中常见集合
    请求转发和重定向的区别
    Kafka之工作流程分析
    Kafka之概述
    Kafka之安装
    Oracle数据库查看用户状态
    linux压缩和解压文件命令
    JVM性能调优
    Hbase之命令
  • 原文地址:https://www.cnblogs.com/Twsc/p/5699190.html
Copyright © 2011-2022 走看看