#P16870. [Ural1674] Drunk King

[Ural1674] Drunk King

题目描述

“醉酒国王”与普通国际象棋国王一样,每一步可以移动到八个相邻格子之一,但它还有一个限制:

不能连续两步朝完全相同的方向移动。

现在国王位于一个 N×MN\times M 棋盘的左上角。它希望:

  1. 每个格子恰好访问一次;
  2. 最终回到起点;
  3. 整条路径没有自交;
  4. 任意连续两步的移动方向不同。

请判断这样的巡回路线是否存在,并在存在时构造一条。

输入格式

一行两个整数:

2N,M500.2\le N,M\le500.

输出格式

如果不存在,第一行输出:

No

如果存在,第一行输出:

Yes

随后输出 2N12N-1 行,每行 2M12M-1 个字符,用字符:

  • o
  • |
  • -
  • /
  • \
  • 空格

画出整条路线。

其中 o 表示棋盘格中心,其他字符表示相邻格子之间的移动边。格式与原题样例一致。