Điểm:
1800 (p)
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
bàn phím
Output:
màn hình
Nhiệm vụ của bạn là lấp đầy một lưới \(n \times m\) bằng cách sử dụng L-tromino (ba ô vuông có hình chữ L). Ví dụ: đây là một cách để lấp đầy lưới \(4 \times 6\):
Input
- Dòng đầu vào đầu tiên chứa một số nguyên \(t\): số lượng test.
- Sau đó, có \(t\) dòng mô tả các test. Mỗi dòng chứa hai số nguyên \(n\) và \(m\).
Output
- Đối với mỗi test, hãy in
YES
nếu có giải pháp vàNO
nếu ngược lại. - Nếu có một giải pháp, cũng in \(n\) dòng mà mỗi dòng chứa \(m\) chữ cái giữa
A
-Z
. Các ô vuông liền kề phải có chính xác cùng một chữ cái khi chúng thuộc cùng một tromino. Bạn có thể in bất kì giải pháp hợp lệ nào.
Constraints
- \(1 \leq t \leq 100\)
- \(1 \leq n \leq m \leq 100\)
Example
Sample input:
2
4 6
4 7
Sample output:
YES
AADDBB
ACCDEB
BCAEEC
BBAACC
NO
Bình luận
CSES - Filling Trominos | Lấp đầy tromino
Nhiệm vụ của bạn là lấp đầy một lưới \(n \times m\) bằng cách sử dụng các L-tromino (một L-tromino gồm ba ô vuông xếp thành hình chữ L).
Ví dụ, đây là một cách để lấp đầy lưới \(4 \times 6\):
Input
Output
YES
nếu có cách lấp đầy lưới, ngược lại inNO
.A
-Z
. Các ô liền kề phải có chính xác cùng một chữ cái khi chúng thuộc cùng một tromino. Bạn có thể in bất kì cách nào hợp lệ.Example
Test 1
Input
Output