#P14614. [2019 KAIST RUN Fall] Bigger Sokoban 40k
[2019 KAIST RUN Fall] Bigger Sokoban 40k
Description
推箱子(Sokoban)是一款著名的益智游戏,玩家在 大小的网格中移动,并将 大小的箱子推到 大小的目标位置。
更大推箱子(Bigger Sokoban)是推箱子的一种可能变体,但箱子和目标位置的尺寸都大于 。本题特别使用 的尺寸作为箱子和目标位置的大小。
更大推箱子的规则与推箱子相同。网格中的每个格子是空地或墙壁。一些 的空地区域各包含一个 大小的箱子,而一些 的空地区域各被标记为 大小的目标位置。
玩家位于网格中,可以向上、下、左、右移动到相邻的空地格子,但不能穿过墙壁、箱子或网格边界。如果玩家试图移动到一个箱子的位置,箱子会被向该方向推到相邻的格子。箱子不能被推到其他箱子、墙壁或网格边界上,且箱子不能被拉动。箱子的数量等于目标位置的数量。当所有箱子都位于目标位置上时,谜题即被解决。
你的任务是设计一个需要至少 40,000 步才能解决的更大推箱子网格。为了使情况更简单,网格必须满足以下约束:
- 。
- 网格包含 一个 箱子和 一个 目标位置。
- 玩家、箱子和目标位置必须互不重叠。
Input Format
本题没有输入。
Output Format
第一行输出两个以空格分隔的整数 ,表示网格的尺寸。
接下来的 行,每行输出一个长度为 的字符串,描述网格的每一行。每个字符串必须由 、、、、 组成;每个字符分别表示空地、墙壁、玩家、箱子、目标位置。
网格必须恰好包含一个 ,恰好四个 ,以及恰好四个 。 和 必须各自形成一个 的正方形。当然,网格必须是可解的。
请注意,样例输出仅用于演示格式正确的输出。由于它可以在少于 40,000 步内解决,因此不是一个正确答案。
<There are no inputs>
5 6
....SS
....SS
.#BB#.
..BB.P
......
京公网安备 11011102002149号