[CSES 2423] Filling Trominos
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Nhiệm vụ của bạn là lấp đầy một lưới ~n \times m~ bằng các L-tromino (ba ô vuông tạo thành hình chữ L). Ví dụ, đây là một cách lấp đầy lưới ~4 \times 6~:
Dữ liệu vào
Dòng đầu tiên chứa một số nguyên ~t~: số lượng bộ test.
Sau đó là ~t~ dòng mô tả các bộ test. Mỗi dòng chứa hai số nguyên ~n~ và ~m~.
Kết quả
Với mỗi bộ test, in ra YES nếu có lời giải, và NO nếu không.
Nếu có lời giải, cũng in ra ~n~ dòng, mỗi dòng chứa ~m~ chữ cái từ A–Z. Các ô vuông cạnh nhau phải có cùng chữ cái khi và chỉ khi chúng thuộc cùng một tromino. Bạn có thể in ra bất kỳ phương án hợp lệ nào.
Giới hạn
- ~1 \le t \le 100~
- ~1 \le n,m \le 100~
Ví dụ
Dữ liệu vào:
2
4 6
4 7
Kết quả:
YES
AADDBB
ACCDEB
BCAEEC
BBAACC
NO
Bình luận