QOJ.ac

QOJ

時間限制: 2000 s 記憶體限制: 262144 MB 總分: 100 可 Hack ✓

#420. 沙漏

统计

在这个问题中,你需要解决一个涉及平面棋盘和棋子的谜题。

“沙漏谜题”(Hourglass Puzzle)的大小为 $n$,其结构如下:棋盘绘制在一个平面上,包含 $(2 \cdot n + 1)$ 行。这些行是水平的,彼此上下排列。每一行由若干位置组成:中间行包含一个位置,中间行上方或下方的每一行都比其靠近中间的邻行多一个位置。相邻行之间的位置相互连接,使得较短行中的每个位置在较长行中恰好有两个相邻位置。下图展示了 $n = 2$ 时的棋盘。

棋盘上放置了一些棋子。初始时,最上方的 $n$ 行中的每个位置都包含一个红色棋子(沙子),最下方的 $n$ 行中的每个位置都包含一个蓝色棋子(空气)。谜题的目标是交换这些棋子,即让最上方的 $n$ 行填满空气,最下方的 $n$ 行填满沙子。相同颜色的棋子被视为相同的。在任何时刻,每个位置最多只能有一个棋子。下图展示了 $n = 2$ 时的初始和最终位置。红色棋子用“X”表示,蓝色棋子用“O”表示。

棋子的移动遵循以下规则:

  • 红色棋子只能向下移动,蓝色棋子只能向上移动。
  • 每次移动中,恰好有一个棋子改变其位置。
  • 对于某个棋子,如果其在允许方向(蓝色棋子为左上或右上,红色棋子为左下或右下)上的两个相邻位置中有一个存在且为空,则该棋子可以直接移动到那里。
  • 如果该位置被另一种颜色的棋子占据,但同一方向上的下一个位置存在且为空,则该棋子可以跳跃到那个空位置。
  • 注意,跳跃仅在满足以下条件时被允许:沿直线进行、长度为两个位置、且越过一个另一种颜色的棋子。其他形式的跳跃(例如,垂直向上或向下跳过两行)是不允许的。

下图展示了 $n = 2$ 时解决该谜题的一系列移动。

移动序列可以用以下方式记录:

  • 向左上移动或跳跃记为小写英文字母“b”。
  • 向右上移动或跳跃记为小写英文字母“d”。
  • 向左下移动或跳跃记为小写英文字母“p”。
  • 向右下移动或跳跃记为小写英文字母“q”。

这种记法的直观含义是,每个字母的尾部指向移动或跳跃的方向。

事实证明,通过这种记法提供的信息足以还原谜题的所有中间状态。

给定谜题的大小 $n$,请输出其解。注意,你不需要最小化或最大化移动次数。

输入格式

输入的第一行包含一个整数 $n$:谜题的大小 ($1 \le n \le 10$)。

输出格式

输出一行,包含给定大小谜题的一个解。该行必须仅包含小写英文字母“b”、“d”、“p”和“q”,不包含其他字符,特别是不能包含空格。如果存在多个可能的解,输出其中任意一个即可。

样例

样例 1

输入

2

输出

dppdbqbdppqdqbbqdqpdbqb

说明

上述图片对应于该样例。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.