問題是這樣的:公司有400個房間,單號對雙號對門,中間有一條走廊,現在要搬東西,給出要搬的次數,還有每次搬動的房間號,每次搬動需要10分鐘,搬動過程中的那段走廊不能被使用,求最大搬動時長。
題解很簡單,就是遍歷所有的走廊,得出使用的次數,然後排序輸出最大的就可以了.
[cpp]
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int n,num,a[200][2],b[200];
cin>>n;
while(n--)
{
cin>>num;
memset(b,0,sizeof(b));
for(int i=0; i<num; i++)
{
cin>>a[i][0]>>a[i][1];
if(a[i][0]>a[i][1])
{
int temp=a[i][0];
a[i][0]=a[i][1];
a[i][1]=temp;
} www.2cto.com
}
for(int j=1; j<=200; j++)
for(int k=0; k<num; k++)
if((((a[k][0])<=2*j-1)&&((a[k][1])>=2*j-1)||(((a[k][0])<=2*j)&&((a[k][1])>=2*j))))
b[j-1]++;
sort(b,b+200);
if(b[199]!=0)
cout<<b[199]*10<<endl;
else
cout<<"10"<<endl;
}
return 0;
}
作者:szq123456123