琼斯先生想骑自行车往返。他想以任意顺序参观几个城市,但是他的路线一定不能越过它,因为他不想在假期里两次到同一个地方。因为他真的很喜欢骑自行车,所以路线的长度完全无关紧要,但是他不喜欢在没有目标的情况下绕着风景行驶。他喜欢的路线是从城市直线延伸到另一条,没有任何弯路。
琼斯先生是一位热情的标准高尔夫球手,他希望您找到一个计划,给他计划一个给定的往返城市的计划。输入具有形式A (B|C)
。A
是一个城市的名字,B
并C
为它的坐标。您可以假设坐标为正且小于1000。城市的数据集以行分隔。这是一个示例,示例输入可能如下所示:
SomeTown(1 | 10) 交流(3 | 4) 无论在哪里(7 | 7) 家(5 | 1)
琼斯先生不是书呆子,他只是想有一个有用的程序。因此,只要满足以下条件,您就可以自行决定输出的外观:
- 输出是城市地图,并在城市之间绘制了路线。如果正确,则路线不应重叠,应在起点处结束
- 坐标类似于常规编程:(1 | 1)在NW角。在地图边框上添加标尺,以方便阅读
- 必须在地图上写下城市名称,但可以随意使用缩写,这在地图上的其他地方都有说明
- 该地图可以是ASCII图片或图像
- 保持输出可读
输出可能如下所示:
1234567 1天 2 * * 3 * * 4 B * 5 * * 6 * * 7 * C 8 * ** 9 * * 10A ** 答:SomeTown B:交流 C:无论在哪里 D:首页
字符数最少的程序将获胜。如果编译需要这些参数,我不会将其计入编译器/解释器,但请不要滥用此规则。通常的高尔夫规则适用。
这是另一个测试用例。您的输出不必匹配我的,也不必选择与我相同的路径。手工绘制输出,并显示可能的输出。输入:
家(5 | 7) 超级市场(13 | 12) 公园(15 | 5) 新广场(9 | 16) 朋友家(20 | 11) 老城堡(14 | 21) 河边(1 | 20) 海滩(10 | 1) 电影院(21 | 18) 森林(23 | 7) 小岛(21 | 1) 代号高尔夫博物馆(6 | 25) 机场(18 | 25) 茶馆(24 | 14) 餐厅(24 | 22) 伟大的桥梁(3 | 12) 建筑物(25 | 9)
这是一个示例输出:
1111111111222222 1234567890123456789012345 1高 * K 2 * * * * 3 * * * * 4 * * ** * 5 * C * 6 * * 7 AJ 8 * * 9 * Q 10 * * 11 * *** E * 12 PB *** * * 13 * * * * 14 * * * N 15 * * * * 16 * D * * 17 * * * * 18 * *我* 19 * * * * 20G * * * 21 * F * * 22 * ** * O 23 * ** * ** 24 * ** * * 25 L ** M ** 一个家 B:超市 C:公园 D:新广场 E:朋友家 F:古堡 G:河边 H:海滩 我:电影院 J:森林 K:小岛 L:代码高尔夫博物馆 M:机场 N:茶馆 O:餐厅 P:伟大的桥梁 问:SO大厦
我不是英语母语人士。如有必要,请随时纠正我的语言和语法。