#P1806. Manhattan 2025

    ID: 807 远端评测题 1000ms 30MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>TUD Programming Contest 2003DarmstadtGermany

Manhattan 2025

本题没有可用的提交语言。

描述

背景

2025年的曼哈顿——人口如此密集,以至于其传统的二维街道和大道网格已无法为所有传统车辆(如汽车、自行车或公共汽车)提供足够的空间。因此,新开发的3D-Skyjetters变得非常流行,因为它们可以通过在空中飞行来避开地面上的交通堵塞。在一系列由3D-Skyjetters抄近路引发的可怕事故之后,纽约当局制定了新的空中交通法规,并决心严格执行。这些法规的关键点是,3D-Skyjetters必须遵循三维矩形网格上的虚拟航线,这对于一生都在使用地面二维矩形道路网格的纽约人来说足够简单。

问题

你拥有一家出租3D-Skyjetters的公司。由于3D-Skyjetters仍处于开发的早期阶段,它们远未达到经济实用的程度。因此,你的客户经常在最不合适的地方耗尽燃油,你需要一个系统来随时告知他们当前的可达范围。

你可以假设在网格中从一个交叉点到下一个交叉点的移动需要消耗一个单位的燃油,无论客户是水平移动、垂直移动、向上还是向下。你还可以假设你的客户位于某个交叉点,其移动不受地面或其他障碍物的限制,仅受剩余燃油量的限制。

给定燃油量,提供一个图形化的表示,显示你的客户可达的所有交叉点,以及到达那里所需的燃油量。

输入

输入的第一行包含场景的数量。对于每个场景,有一行包含剩余的燃油单位数,即一个满足0u90 \leq u \leq 9的整数uu。如果剩余燃油超过9单位,客户将忽略显示。

输出

每个场景的输出以一行“Scenario #i:”开始,其中ii是从1开始的场景编号。然后打印所有可以用给定燃油量到达的交叉点的图形化(或文本化)表示,以及到达那里所需的燃油单位数。在此图形化表示中,打印包含范围内所有交叉点的最小轴对齐三维立方体的切片,并从底部到顶部将切片编号从1开始。

对于每个切片,输出以一行“slice #s:”开始,其中ss是切片的编号。在接下来的行中,打印该切片中所有交叉点的图形化表示,使用:

  • 数字0099表示范围内的交叉点,表示到达那里所需的燃油量;
  • 点“.”表示不在范围内的交叉点。

在每个场景后额外打印一个空行。

输入数据 1

2
0
2

输出数据 1

Scenario #1:
slice #1:
0

Scenario #2:
slice #1:
.....
.....
..2..
.....
.....
slice #2:
.....
..2..
.212.
..2..
.....
slice #3:
..2..
.212.
21012
.212.
..2..
slice #4:
.....
..2..
.212.
..2..
.....
slice #5:
.....
.....
..2..
.....
.....

来源

TUD Programming Contest 2003, Darmstadt, Germany