zoukankan      html  css  js  c++  java
  • HDOJ 2037简单的贪心算法

    代码:

    #include<iostream>

    using namespace std;

    int main()

    {   

         int n,s,t1[100],t2[100],i,t,j;  

         while(cin>>n)

        {  

                if(n==0) break;      

               s=1;  

              for(i=0;i<n;i++)          

                   cin>>t1[i]>>t2[i];     

             for(i=0;i<n;i++)   

                 for(j=i+1;j<n;j++)   

                {        

                   if(t2[i]>t2[j])        

                  {        

                    t=t2[i];          

                   t2[i]=t2[j];            

                   t2[j]=t;           

                   t=t1[i];          

                   t1[i]=t1[j];            

                   t1[j]=t;

                  }

             }    

             i=0;    

            for(j=1;j<n;j++)   

           {        

               if(t1[j]>=t2[i])       

              {            

                      i=j;            

                     s+=1;        

             }    

         }  

          cout<<s<<endl; 

      }

      return 0;

    }

    把每个节目的结束时间按升序排列(冒泡排序),然后比较下一个节目的开始时间是否大于上一个节目的结束时间,若大于,节目数加一。

  • 相关阅读:
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业04--树大作业说明
    DS博客作业02--栈和队列
    DS博客作业01--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    DEVC怎么建工程
    C语言博客05--指针
    201771010110孔维滢《面向对象程序设计(java)》第十二周学习总结
  • 原文地址:https://www.cnblogs.com/weiyikang/p/3865509.html
Copyright © 2011-2022 走看看