著名的ACM公司租用了一幢楼的一层,其形状如下。
整个楼层在走廊的北面和南面各有300个房间。最近公司制定了一个改变布局的方案,包括在不同房间之间移动许多桌子。由于走廊狭窄,而且桌子都很大,只有一张桌子可以穿过走廊。为了提高工作效率,经理制定了如下方案:把一张桌子从一个房间搬到另一个房间可以在5分钟内完成。当移动一张桌子从I房间搬到J房间时,房间I前面和房间J前面的走廊部分被使用了。因此,在每5分钟,在不共用走廊的情况下,不同的移动方案可以同时进行。为了说明问题,经理举例说明了可能发生的情况和不可能同时发生的情况。
|
移动桌子 |
原因 |
可以同时进行的情况 |
从30号房间移动到50号房间和从60号房间移动到90号房间 |
没有共用走廊 |
从11号房间移动到12号房间和从14号房间移动到13号房间 |
没有共用走廊 |
|
不可以同时进行的情况 |
从20号房间移动到40号房间和从31号房间移动到80号房间 |
31房间到40房间前的走廊被共用 |
从1号房间移动到4号房间和从3号房间移动到6号房间 |
3房间前的走廊被共用 |
|
从2号房间移动到8号房间和从7号房间移动到10号房间 |
7房间前的走廊被共用 |
对于每个房间,最多一张桌子要么搬进去,要么搬出去。现在,经理要计算移动给定的桌子所需的最短时间。你的工作是写一个程序来解决经理的问题。