HDOJ—1050 移动桌子 贪心

本题和南阳上的那个 房间安排 一个道理,不过就是加了个是两排房子,需要化简;

简单思想:

初始化数组,如果需要移动,自增一,代表一个操作,最后便历,找出操作数做多的那个,就是我们需要的最长时间

代码:

#include<stdio.h>
#include<string.h>
int main()
{
    int T,a[250],max,i,j,f,t,n,x;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        memset(a,0,sizeof(a));
        for(i=0;i<n;++i)
        {
            scanf("%d%d",&f,&t);
            f=(f+1)/2;
            t=(t+1)/2;
            if(f>t)
            {
                x=t;
                t=f;
                f=x;
            }
            for(j=f;j<=t;++j)
                a[j]++;
        }
        max=-1;
        for(i=0;i<250;++i)
            if(max<a[i])
                max=a[i];
        printf("%d\n",max*10);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/zibuyu/p/2652880.html