HDU 1050 Moving Tables

 

题目不难,就是求最大的重叠次数。

每次输入时求这次的重叠次数,并记录最大的。循环结束就解决了。

直接上代码

 
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int N;
 9     int p[205];
10     int n,a,b,len,minn,maxn;
11     scanf("%d",&N);
12     while(N--){
13 
14         memset(p,0,sizeof(p));
15         len=1;//至少为一次
16         scanf("%d",&n);
17         for(int i=0;i<n;i++){
18             scanf("%d%d",&a,&b);
19             if(b<a){//保证a<b
20                 int t=a;
21                 a=b;
22                 b=t;
23             }
24             a=(a+1)/2;//加一
25             b=(b+1)/2;
26             for(int j=a;j<=b;j++){
27                 p[j]++;
28                 if(p[j]>len)
29                     len=p[j];
30             }
31         }
32         printf("%d\n",len*10);
33 
34     }
35     return 0;
36 }

 

posted @ 2016-01-24 23:10  闪耀子  阅读(178)  评论(0编辑  收藏  举报