POJ 1083
问题是这样的:公司有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.zzzyk.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
补充:软件开发 , C++ ,