trang chủ / bài tập / dominocut

Lát domino bảng 4 x N

Đề bài

Mô tả

Cho bảng chữ nhật kích thước 4×N gồm 4 dòng và N cột. Bạn cần lát kín bảng bằng các quân domino kích thước 1×2 (được phép xoay, tức là dùng cả quân 2×1). Mỗi ô của bảng phải được phủ bởi đúng một quân domino và hai quân domino bất kỳ không được chồng lên nhau.

Giữa hai cột liên tiếp có một đường cắt dọc, tổng cộng có N1 đường cắt dọc dọc theo các đường lưới. Cách lát cần thỏa mãn: mỗi đường cắt dọc phải cắt ngang qua ít nhất một quân domino, nghĩa là chia quân domino đó thành hai nửa.

Hãy in ra một cách lát thỏa mãn dưới dạng tô màu bảng bằng không quá 26 màu, ký hiệu bởi các chữ cái Latin thường. Mỗi quân domino được tô bởi một màu duy nhất. Hai quân domino khác nhau có thể cùng màu, nhưng hai quân domino cùng màu không được kề cạnh nhau.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Dữ liệu vào

Một dòng duy nhất chứa số nguyên dương N là số cột của bảng.

Dữ liệu ra

Nếu không tồn tại cách lát, in ra 1.

Ngược lại, in ra 4 dòng, mỗi dòng gồm N chữ cái Latin thường mô tả cách tô màu bảng.

Ràng buộc

  • 1N100

Ví dụ

Input Output Giải thích
1 a
a
b
b
Bảng 4×1 chỉ có thể lát bằng hai quân domino dọc. Không có đường cắt dọc nào nên điều kiện tự động thỏa mãn.
4 abba
acca
bbdd
aabb
Cột 1 và cột 4 của hai dòng trên là hai quân domino dọc, ở giữa là hai quân ngang phủ cột 2-3 nên cắt qua đường cắt thứ hai. Hai dòng dưới toàn quân ngang phủ cột 1-23-4, cắt qua đường cắt thứ nhất và thứ ba. Đáp án khác vẫn được chấp nhận.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0