Universal Cup Judging System

Universal Cup

Limite de temps : 2 s Limite de mémoire : 2048 MB Points totaux : 100 Difficulté: [afficher] Hackable ✓
Statistiques

小青鱼有一个 $n$ 行 $m$ 列的矩形网格。他想要将这个网格划分为若干个五格骨牌(pentomino)。一个五格骨牌是由恰好五个通过公共边相连的单元格组成的区域。

五格骨牌共有十二种形状,分别标号为 F、I、L、P、N、T、U、V、W、X、Y 和 Z,如下图所示。每种形状都可以旋转或翻转。

problem_22893_d5287cfb3c31c32c34a0b3d18033502f.png

小青鱼希望每个单元格都恰好属于一个五格骨牌。此外,任何两个相同形状的五格骨牌都不能共享公共边,即使它们的朝向不同也不行。仅共享公共顶点(角)是允许的。

请找出一种满足上述规则的划分方案。如果不存在这样的方案,请报告无解。

输入格式

本题包含多组测试数据。输入的第一行包含一个整数 $T$($1 \le T$),表示测试数据的组数。

对于每组测试数据,第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 1000$),分别表示网格的行数和列数。保证 $n \times m$ 是 $5$ 的倍数。

保证所有测试数据中 $n \times m$ 的总和不超过 $10^6$。

输出格式

对于每组测试数据,如果不存在合法的划分方案,输出一行一个字符串 No。否则,先输出一行一个字符串 Yes,接下来输出 $n$ 行,每行包含一个长度为 $m$ 且仅由十二个大写字母 FILPNTUVWXYZ 组成的字符串。

第 $i$ 行第 $j$ 列的字母必须表示包含该单元格的五格骨牌的标号。每一个由相同字母组成且通过公共边相连的极大连通区域都必须恰好包含五个单元格,并且具有其字母所表示的形状。

字符串 Yes 和 No 对大小写不敏感。如果存在多种合法的划分方案,输出任意一种即可。

样例

输入格式 1

4
1 5
1 10
3 5
2 10

输出格式 1

Yes
IIIII
No
Yes
LLLLT
LYTTT
YYYYT
Yes
LLLLNNNPPP
LIIIIINNPP

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.