ACM 2037 今年暑假不AC
2017-09-02 09:45
218 查看
贪心算法
//贪心思想:节目时间越早结束,能看的节目数量就越多
//贪心思想:节目时间越早结束,能看的节目数量就越多
# include <stdio.h> # include <string.h> # include <malloc.h> struct program//定义一个结构体 保存节目的开始和结束时间; { int start=0; int end=0; }; typedef struct program strp;//把struct program == strp void sort(strp* pro,int n)//把节目按结束时间排序; { strp t; for (int i=0;i<n-1;i++) for (int j=0;j<n-1-i;j++) if (pro[j].end >pro[j+1].end) { t = pro[j]; pro[j] = pro[j+1];//注意!交换的是整个节目数据 pro[j+1]= t; } return; } int validpro(strp*pro,int n)//计算可以完整观看的节目数量; { if(1 == n) return 1; int count = 1; int end = pro[0].end; for(int i=1;i<n;i++) { if (pro[i].start >= end)//节目已经按结束时间排序好,只需比较开始时间是否大于等于上一个节目的结束时间; { count++; end = pro[i].end;//成立则要把该能完整观看的节目结束时间赋值给end; } } return count; } int main (void) { int n; while (~scanf("%d",&n)&&n) { int i; strp* pro = (strp*)malloc(sizeof(strp)*n);//动态定义一个结构体数组 效果类似于pro ; for (i=0;i<n;i++) { scanf("%d",&pro[i].start); scanf("%d",&pro[i].end); } sort(pro,n);//调用; printf("%d\n",validpro(pro,n)); } return 0; }
相关文章推荐
- 杭电ACM2037——今年暑假不AC
- ACM_HDU_2037_今年暑假不AC
- [ACM_HDU_2037]今年暑假不AC(贪心算法)
- HDU_ACM-2037 今年暑假不AC
- ACM-2037今年暑假不AC(贪心入门)
- 杭电ACM 2037 今年暑假不AC
- 杭电acm 今年暑假不AC 2037
- 杭电acm 2037 今年暑假不AC(贪心算法)
- 杭电ACM 2037 今年暑假不AC
- 杭电ACM 今年暑假不AC 2037(关于最简单的贪心算法)
- poj 2037 今年暑假不AC
- HDU 2037 今年暑假不AC
- HDU 2037 今年暑假不AC 贪心
- hdu 2037 今年暑假不AC
- hdu 2037 今年暑假不AC
- hdu 2037 今年暑假不AC
- HDU 2037 今年暑假不ac!
- nyoj14会场安排问题VS hdoj2037今年暑假不AC(贪心之时间安排问题)
- hdu 2037 今年暑假不AC 活动安排
- hdu 2037 今年暑假不AC(贪心)