CSES - Filling Trominos | Lấp đầy tromino

Xem PDF

Đ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\)\(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 (1)

Sắp xếp theo
Tải bình luận...