第十二题 任务调度的贪心

来源:互联网 发布:unity3d 美女 模型 编辑:程序博客网 时间:2024/06/09 18:39

任务调度的贪心,

将任务按照结束时间排序,结束早的在前面,

只要从前向后扫一遍,每一次检查是否任务的开始时间是否符合规定即可。

这一题的buf[i].st >= curov不能写成>

#include <stdio.h>#include <algorithm>using namespace std;struct ta{    int st;    int ov;    //int ok=1;//能用的标志//突然发现扫描一遍就行,不需要这个标志    bool operator < (const ta& b)const    {        return ov<b.ov;    }}buf[101];int main(){int n;int curov;int cnt;while(scanf("%d",&n)!=EOF&&n)    {        for(int i=0;i<n;i++)        {            scanf("%d%d",&buf[i].st,&buf[i].ov);        }        sort(buf,buf+n);        curov = 0;        cnt=0;        for(int i=0;i<n;i++)        {            if(buf[i].st >= curov)            {                cnt++;                curov=buf[i].ov;            }        }        printf("%d\n",cnt);    }return 0;}


原创粉丝点击