QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 2048 MB Points totaux : 100

#2436. 不交叉的骑士巡游

Statistiques

一个众所周知的谜题是使用国际象棋中的马(knight)走遍 $8 \times 8$ 棋盘上的所有方格。马的移动规则是:先沿一个方向走一格,再沿垂直方向走两格。马必须访问棋盘上的每一个方格且不重复,最后回到起始方格。由于棋盘大小适中,有许多方法可以做到这一点,这对人类来说是一个合理的谜题。

然而,你拥有计算机和编程技能!因此,我们将为你提供一个在 $m \times n$ 矩形棋盘上的更难版本,并增加一个限制:马的路径绝不能自交。如果你将马的路径想象成连接其所跳方格中心点的直线段,那么这些线段必须构成一个简单多边形;也就是说,除了相邻线段在公共端点处接触外,没有任何两条线段相交或接触。这一限制使得访问每一个方格变得不可能,因此你必须最大化马所访问的方格数量。我们保留了马必须回到起始方格的限制。图 J.1 展示了第一个样例输入($6 \times 6$ 棋盘)的一个最优解。

图 J.1:$6 \times 6$ 棋盘的一个最优解。

输入格式

输入包含一行,包含两个整数 $m$ ($1 \le m \le 8$) 和 $n$ ($1 \le n \le 10^{15}$),表示矩形棋盘的尺寸。

输出格式

显示马在 $m \times n$ 棋盘上进行不自交巡游时所能访问的最大方格数。如果不存在这样的巡游,则输出 0。

样例

输入 1

6 6

输出 1

12

输入 2

8 3

输出 2

6

输入 3

7 20

输出 3

80

输入 4

2 6

输出 4

0

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.