#P16872. [Ural1411]40 Islands Knights

[Ural1411]40 Islands Knights

题目描述

有一个由若干小岛组成的矩形群岛。小岛排成一个规则的网格,网格宽度为 WW,高度为 HH

任意两座小岛之间,如果它们的欧氏距离不超过 1.421.42,则称它们互为相邻岛屿。因此,一座岛最多有 8 个相邻岛屿:上下左右以及四个对角方向。

你需要在相邻岛屿之间修建桥梁,使得同时满足以下条件:

  • 每一座小岛都恰好与 3 座其他小岛通过桥直接相连;
  • 任意两座桥在平面上都不能相交;
  • 任意两座小岛之间都可以沿桥梁到达;
  • 即使任意一座桥被破坏,整个群岛仍然保持连通。

请构造任意一种满足条件的方案。

输入格式

一行两个整数:

W H

分别表示群岛的宽度和高度。

1W,H50.1\le W,H\le 50.

输出格式

如果不存在满足条件的方案,输出:

Imaginary world

否则输出一幅表示桥梁布局的字符图。

  • 小岛用字符 O 表示;
  • 水平桥用 - 表示;
  • 竖直桥用 | 表示;
  • 两种对角桥分别用 /\ 表示;
  • 其余位置输出空格。

只需输出任意一种合法方案。

样例输入

8 5

样例输出

O-O-O-O-O-O.O-O
|\|.|..\|/|/|/|
O-O.O-O.O.O.O.O
.\././|../..|/|
O-O.O-O-O-O.O-O
|\..|..../.\..|
O-O.O.O-O-O.O-O
|/./|.|\..|\.\|
O-O-O-O-O-O-O-O

原题的示例为了显示空白位置,可能使用可见字符代替空格;实际提交时未使用的位置应输出普通空格。