zoukankan      html  css  js  c++  java
  • 贪心算法活动安排c

    #include<stdio.h>  
      
    
    /* 
    *  s[]:活动的开始时间 
    *  f[]:活动的结束时间(非降序排列) 
    *  a[]:0或者1,为0表示活动不被安排,1表示活动被安排  
    *  k:活动个数  
    */  
      
    void greedy(int s[],int f[],int a[],int k)  
    {  
         int i;  
         int j = 0;  
         for(i=0;i<k;i++)  
         {  
           a[i] = 0;//初始所有活动都未被安排   
         }   
         a[0] = 1;  
         printf("第1个活动被安排
    ");  
         int count = 1;  
         for(i=1;i<k;i++)  
         {  
            if(s[i] > f[j])  
            {  
               a[i] = 1;  
               printf("开始时刻%d,结束时刻%d.",s[i],f[i]);   
               j = i;  
               count++;  
               printf("第%d个活动被安排
    ",i+1);  
            }  
         }  
         printf("总计%d个活动被安排
    ",count);   
           
           
    } 
    
    void greedy(int s[],int f[],int a[],int k);  
      
    int main()  
    {  
       
      int s[10];  
      int f[10] ;  
      int n = 10;
    
      printf("活动开始时刻:");
      for(int i=0;i<n;i++)
        scanf("%d",&s[i]);
     
      printf("活动结束时刻:");
      for(int i=0;i<n;i++)
        scanf("%d",&f[i]);
    
      int k;  
      k = sizeof(f)/sizeof(f[0]);  
      int *a;  
      a = (int*)malloc(sizeof(int)*k);  
        
      greedy(s,f,a,k);  
      system("PAUSE");  
        
    }  
      

  • 相关阅读:
    request:getParameter和getAttribute区别
    JSP登录页面大小
    单例模式详情
    关于HTML的总结
    遍历HashMap的四种方法
    三层开发原则
    java日期
    oracle6
    tomcat
    Linux命令
  • 原文地址:https://www.cnblogs.com/an-lang/p/13963936.html
Copyright © 2011-2022 走看看