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 }
----------------
人们生成的最美好的岁月其实就是最痛苦的时候,只是事后回忆起来的时候才那么幸福。