标签:


3 4 10 20 30 40 50 60 70 80 2 1 3 2 200 3 10 100 20 80 30 50
10 20 30
#include <stdio.h>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int T,N;
int c[401];
while (scanf("%d", &T)!=EOF)
{
while (T--)
{
scanf("%d", &N);
int a,b;
int max = -1;
memset(c, 0, sizeof(c));
for(int i=0; i<N; i++)
{
scanf("%d %d", &a, &b);
//将区间限制为从小到大地移动桌子
if (a > b)
{
swap(a, b);
}
//由于走廊两边的排列都是奇数与偶数相对,而任何一个要移动,
//都会影响对面的不能被使用,也就是shared
//所以,如果是偶数开始,那么会影响到对面的,也就是a-1
//同理,如果是奇数结束,也会影响到对面的,也就是b+1
//那么在这个区间都是被shared的
if (a%2 == 0)
a--;
if (b%2 == 1)
b++;
for (int i=a; i<=b; i++)
{
//标记被shared的区间[a, b],被使用一次加一次,所以是c[i]++
c[i]++;
//找重叠数最大之一,即必须经过的次数
if (c[i]>max)
max = c[i];
}
}
printf("%d\n", max*10);
}
}
return 0;
}
标签:
原文地址:http://blog.csdn.net/a237653639/article/details/46406183