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