zoukankan      html  css  js  c++  java
  • hdu 2037

    题意:区间调度问题

    解法:应用贪心算法,贪心的规则:

    在可选的节目中,选取结束时间早的节目。

       1:  #include<stdlib.h>
       2:  #include<string.h>
       3:  #include<stdio.h>
       4:  #define N 101
       5:  struct time{
       6:      int s,t;
       7:  }timer[N];
       8:  int comp(const void *p,const void *q){
       9:      struct time a=*(struct time *)p;
      10:      struct time b=*(struct time *)q;
      11:      return a.t-b.t;
      12:  }
      13:  int main(){
      14:      int n,i,ans=0,stamp=0;
      15:      while(scanf("%d",&n)!=EOF&&n){
      16:          for(i=0;i<n;i++)
      17:              scanf("%d %d",&timer[i].s,&timer[i].t);
      18:          qsort(timer,n,sizeof(struct time),comp);//按照结束的时间从小到大排序
      19:          ans=0,stamp=0;
      20:          for(i=0;i<n;i++){
      21:              if(stamp<=timer[i].s){     //stamp:时间戳
      22:                  stamp=timer[i].t;
      23:                  ans++;
      24:              }
      25:          }
      26:          printf("%d
    ",ans);
      27:      }
      28:  }
      29:      
  • 相关阅读:
    Java 中的JOption函数
    01背包与完全背包(对比)
    AC注定不平坦(大神回忆录)
    背包精讲之——01背包
    动规问题概述(待整理)
    背包九讲
    Tautology(递推)||(栈(stack))(待整理)
    深度优先和广度优先区别
    Linux下JDK、Tomcat的安装及配置
    同IP不同端口Session冲突问题
  • 原文地址:https://www.cnblogs.com/ZJUT-jiangnan/p/3655055.html
Copyright © 2011-2022 走看看