贪心法基本入门
Posted ly_rabbit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了贪心法基本入门相关的知识,希望对你有一定的参考价值。
/*
输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),
表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),
分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示
。n=0表示输入结束,不做处理。
*/
求观看完整节目的最大个数
#include<stdio.h> typedef struct Node{ int start; int end; }time[110]; void main() { int n; while(scanf("%d",&n)==1 && n<=100 && n>0) { int i,j,k; time kk; for(i=0;i<n;i++) scanf("%d%d",&kk[i].start,&kk[i].end); for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(kk[i].end>kk[j].end) { int temp=kk[i].start; kk[i].start=kk[j].start; kk[j].start=temp; temp=kk[i].end; kk[i].end=kk[j].end; kk[j].end=temp; } int s=0; int count=0; for(k=0;k<n;k++) { if(kk[k].start>=s) { count++; s=kk[k].end; } } printf("%d\n",count); } }
以上是关于贪心法基本入门的主要内容,如果未能解决你的问题,请参考以下文章