首页 > 代码库 > HDU1050

HDU1050

移动房间桌子问题

通过建立数组作为此房间对应走廊的重叠次数,达到最大的重叠次数及是总时间的10分之1

代码:

 1 #include<iostream> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 #define MAX 201 6 int f(int n){ 7     return (n+1)/2; 8 } 9 int a[MAX];10 int main(){11     int m,n,x,i,j,t,maxm,times,g;12     cin>>times;13     for(g=0;g<times;g++){14         cin>>x;15         for(i=0;i<x;i++){16             cin>>m>>n;17             if(m>n){18                 t=m;m=n;n=t;19             }20             for(j=f(m);j<=f(n);j++) a[j]++;21         }22         maxm=0;23         for(i=1;i<MAX;i++){24             if(a[i]>maxm) maxm=a[i];25         }26         cout<<10*maxm<<endl;27         memset(a,0,sizeof(a));28     }29     return 0;30 }