简单题意:
有400个房间:,需要从一间房间搬桌子到另一间房间,而走廊只有一张桌子的宽度。
搬一次需要10分钟。输入 几 组数据,房间编号 m 到 n ,求最少需要多少分钟。样例:
3 4 10 20 30 40 50 60 70 80 2 1 3 2 200 3 10 100 20 80 30 50
10 20 30
解题思路形成过程:
因为是贪心算法专题,所以自然想到了贪心算法。和上一题差不多的格式又写了一遍,发现不合适。思索无果,我在网上寻找思路。原来是计算重复路线,有m条路线是重复最多就需要m*10 min。
感想:
思路是别人的,所以并没有感觉a出来有太高兴的心情。但至少我学到了一种新的思想。
AC代码:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int t,i,n,b,e;
cin>>t;
while (t--)
{
int c[200]={0},m=0;
cin>>n;
while (n--)
{
cin>>b>>e;
if (b>e)
{
i=b;
b=e;
e=i;
}
for (i=(b-1)/2;i<=(e-1)/2;++i)
++c[i];
}
for (i=0;i<200;++i)
if (m<c[i])
m=c[i];
cout<<10*m<<endl;
}
return 0;
}