poj1083

来源:互联网 发布:赵薇披日本国旗 知乎 编辑:程序博客网 时间:2024/05/19 02:00
#include<stdio.h>
#include<string.h>
#define MAX 401
/*
题目要求:
给出需要移动桌子的一组房子的序号,求所需要的最小时间

从房间i移动桌子到房间j,途中两侧的房间的桌子都不能移动(考虑房间序号的奇偶情况)
,用一个数组cdoor保存桌子经过每个房间的次数,最大次数即所花费的最小时间
*/
int cdoor[MAX];

int main()
{
    int T, N, s, t,i,j,k,temp,max;
    
    scanf("%d",&T);
    for (i = 0; i < T; i++)
    {
        scanf("%d",&N);
        memset(cdoor,0,sizeof(cdoor));
        for (j = 0; j < N; j++)
        {
            scanf("%d%d",&s,&t);
            /*s小的房间序号  t 大的房间序号*/
            if (s>t)
            {
                temp = s;
                s = t;
                t = temp;
            }
            for (k = s; k <= t; k++)
                cdoor[k] += 10;
            if (t % 2 == 1)
                cdoor[k + 1] += 10;
        }
        max = 0;
        for (j = 0; j < MAX; j++)
        {
            if (max<cdoor[j])
                max = cdoor[j];
        }
        printf("%d\n",max);
    }

    return 0;
}
0 0
原创粉丝点击