#T2293. 填充三格骨牌(Filling Trominos)

填充三格骨牌(Filling Trominos)

链接: https://cses.fi/problemset/task/2423

板块: Construction Problems

时限: 1.00 s | 内存: 512 MB

题目描述

你的任务是用 L 形三格骨牌(三个呈 L 形排列的方格)填满一个 n×mn \times m 的网格。例如,下面是填满 4×64 \times 6 网格的一种方法。

输入

第一行输入一个整数 tt:测试数据的组数。

之后有 tt 行描述这些测试数据。每行包含两个整数 nnmm

输出

对每组测试数据,如果有解则输出 YES,否则输出 NO。

如果有解,还要输出 nn 行,每行包含 mm 个 A–Z 之间的字母。相邻的两个方格字母相同当且仅当它们属于同一个三格骨牌。你可以输出任意一种合法方案。

数据范围

1t1001 \le t \le 100 1n,m1001 \le n,m \le 100

样例输入

2
4 6
4 7

样例输出

YES
AADDBB
ACCDEB
BCAEEC
BBAACC
NO