首页 > 代码库 > C语言 活动安排问题
C语言 活动安排问题
1 #include <stdio.h> 2 #include <stdlib.h> 3 #define N 10000 4 /* 5 @活动安排问题 6 @作者:hjf 7 */ 8 void greed(struAcvity a[],int n); 9 void sort(struAcvity a[],int n); 10 struct activity 11 { 12 int st; 13 int ft; 14 int Ans; 15 }; 16 typedef struct activity struAcvity; 17 int main() 18 { 19 int n,i,j,cnt=0; 20 scanf("%d",&n); 21 struAcvity a[n]; 22 for(i=0;i<n;i++) 23 scanf("%d %d",&a[i].st,&a[i].ft); 24 greed(a, n); 25 //printf("%d\n%d\n%d\n%d\n",a[0].ft,a[1].ft,a[2].ft,a[3].ft); 26 for(j=0;j<n;j++) 27 if(a[j].Ans==1) 28 cnt++; 29 printf("%d",cnt); 30 return 0; 31 } 32 void greed(struAcvity a[],int n) 33 { 34 int i,j,fData=http://www.mamicode.com/1000,sData; 35 for(i=0;i<n;i++) 36 { 37 a[i].Ans=0; 38 if(a[i].ft<fData) 39 fData=http://www.mamicode.com/a[i].ft; 40 } 41 sort(a,n);//printf("%d\n",fData); 42 for(i=0;i<n;i++) 43 { 44 if(a[i].st>=fData||a[i].ft==fData) 45 { 46 a[i].Ans=1; 47 fData=http://www.mamicode.com/a[i].ft; 48 } 49 } 50 51 } 52 void sort(struAcvity a[],int n) 53 { 54 int i,j,minftIndex; 55 struAcvity temp; 56 for(i=0;i<n-1;i++) 57 { 58 minftIndex=i; 59 for(j=i+1;j<n;j++) 60 if(a[minftIndex].ft>a[j].ft) 61 minftIndex=j; 62 if(minftIndex!=i) 63 { 64 temp=a[minftIndex]; 65 a[minftIndex]=a[i]; 66 a[i]=temp; 67 } 68 } 69 }
C语言 活动安排问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。