hdu 1050

hdu 1050

//虽然说是一道贪心题,可我没见到用了贪心的知识啊
//思路:如果有某个值出现在另一个区间中则必然会使a[i] 加 1 相反如果不在任何一个界限内a[i] 都会是 1
//缩小比较的范围思想方法挺值得借鉴的

#include  < cstdio >   
#include 
< string >   
#include 
< algorithm >    
using   namespace  std;   
  
int  main()   
{   
    
int NumOfTest,pair;   
    
int i,Max;   
    
int a[201];   
    
int b,c,n1,n2;   
    scanf(
"%d",&NumOfTest);   
    
while (NumOfTest--)   
    
{   
        scanf(
"%d",&pair);   
        memset(a,
0,sizeof(a));   
        
while (pair--)   
        
{   
            scanf("%d%d",&b,&c);   
            if(b>c)/**//*交换数值,让小值在前,大值在后,从而使得n1<=n2*/  
                swap(b,c);   
            /**//*求n1和n2*/  
            if(b%2==1)   
                n1 = (b-1)/2+1;   
            else  
                n1 = b/2;   
            if(c%2==1)   
                n2 = (c-1)/2+1;   
            else  
                n2 = c/2;   
            if(n1!=n2)   
                for(i=n1;i<=n2;i++)   
                    a[i]++;   
            else  
                a[n1]++;   
        }   
        Max 
= -1;   
        
for(i=1;i<=200;i++)   
            
if(Max<a[i])   
                Max 
= a[i];   
        printf(
"%d\n",10*Max);   
    }
   
    
return 0;   
}
  

你可能感兴趣的:(hdu 1050)