一开始思路错了,用个数组装corridor,找最大的,就是交集。
poj的分类的水题,都做这么长时间,自己太菜了。。。
代码如下
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int a[205];
memset(a,0,sizeof(a));
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
int s,t;
scanf("%d %d",&s,&t);
int mi=min(s,t), ma=max(s,t);
if(mi%2==1) mi++;
if(ma%2==1) ma++;
for(int i=mi/2;i<=(ma/2);i++)
a[i]++;
}
int maxn=-1;
for(int i=1;i<=200;i++)
maxn=max(maxn,a[i]);
printf("%d\n",maxn*10);
}
}