贪心法基本入门

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);
    }

}

 

以上是关于贪心法基本入门的主要内容,如果未能解决你的问题,请参考以下文章

贪婪法——————贪心算法

贪婪法——————贪心算法

贪心法_2(草稿)

循环神经网络

昨天上课学到的 贪心法

贪心思想