posts - 99,  comments - 8,  trackbacks - 0

//虽然说是一道贪心题,可我没见到用了贪心的知识啊
//思路:如果有某个值出现在另一个区间中则必然会使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;   
}
  
posted on 2010-08-22 20:25 雪黛依梦 阅读(715) 评论(0)  编辑 收藏 引用 所属分类: 背包----贪心、回溯、分支界限

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(4)

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜