//这是一题计算重叠度的问题
#include<stdio.h>
#define N 210
int main()
{
int IsOushu(int );
int n,m,i,j,t,a,b,max,temp;
int overlap[N];
scanf("%d",&n);
for(i=0;i<n;i++)
{
max=0,temp=0;
for(t=1;t<N;t++)
overlap[t]=0;
scanf("%d",&m);
for(t=0;t<m;t++)
{
scanf("%d%d",&a,&b); //注意a,b的大小问题 很容易出错,我在这里没想到这个,之后一直卡住了
if(a>b)
{
temp=a;
a=b;
b=temp;
}
a=IsOushu(a);
b=IsOushu(b);
for(j=a;j<=b;j++)
overlap[j]++;
}
for(j=1;j<=200;j++)
if(max<overlap[j])
max=overlap[j];
printf("%d\n",max*10);
}
return 0;
}
int IsOushu(int n) //我是将奇数时偶数看成是一个,这样就不用考虑奇偶数问题了,将问题简化
{
if(n%2==0)
return n/2;
else
return (n+1)/2;
}
HOOJ 1050
最新推荐文章于 2018-12-13 19:10:38 发布