HUD 3697 Selecting courses 2010 Asia Fuzhou Regional Contest E题 贪心

来源:互联网 发布:颜色代码源码 编辑:程序博客网 时间:2024/05/17 09:37

 

View Code
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node{    int l, r;}p[303];bool vis[303];int n;bool cmp(node a, node b){    return a.r < b.r || a.r == b.r && a.l > b.l;}int main(){    int i, j, k;    int ll, rr;    while( ~scanf("%d", &n) && n)    {        ll = 1003; rr = -1;         for(i = 0; i < n; i++)        {            scanf("%d%d", &p[i].l, & p[i].r);            if(p[i].l < ll) ll = p[i].l;            if(p[i].r > rr) rr = p[i].r;        }        sort(p, p+n, cmp);        int cnt, ans = -1;        for(k = 0; k <= 4; k++)        {            cnt = 0;            memset(vis, 0, sizeof(vis));            for(i = k+ll; i <= rr; i += 5)            {                for(j = 0; j < n; j++)                {                        if(vis[j]) continue;                    if(i >= p[j].l && i < p[j].r)break;//注意左边取得到,右边取不到                }                if(j == n) continue;                vis[j] = 1;                //printf("i = %d j = %d\n", i, j);                cnt++;            }            if(cnt > ans ) ans = cnt;        }        printf("%d\n", ans);    }    return 0;

 

原创粉丝点击