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

Khách sạn Fishtopia

Đề bài

Mô tả

Thành phố Fishtopia là một lưới ô vuông gồm 4 hàng và n cột, với n lẻ. Hàng được đánh số từ 1 đến 4 từ trên xuống, cột được đánh số từ 1 đến n từ trái sang phải.

Trong thành phố có hai ngôi làng: làng thứ nhất nằm ở ô (1,1), cư dân của làng này thích câu cá ở hồ tại ô (4,n); làng thứ hai nằm ở ô (4,1), cư dân của làng này thích câu cá ở hồ tại ô (1,n).

Thị trưởng muốn đặt k khách sạn, mỗi khách sạn chiếm đúng một ô. Để mọi người có thể vào thành phố từ mọi phía, không được đặt khách sạn trên ô biên (ô thuộc hàng 1, hàng 4, cột 1 hoặc cột n).

Một người có thể di chuyển từ ô này sang ô kia nếu hai ô kề cạnh nhau và cả hai đều không bị khách sạn chiếm.

Hãy đặt k khách sạn sao cho số đường đi ngắn nhất từ (1,1) đến (4,n) bằng số đường đi ngắn nhất từ (4,1) đến (1,n).

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên nk: chiều rộng thành phố và số khách sạn cần đặt.

Dữ liệu ra

In ra YES nếu tồn tại cách đặt thoả mãn, ngược lại in ra NO.

Nếu có, in thêm 4 dòng mô tả thành phố, mỗi dòng gồm đúng n ký tự: ký tự # nếu ô đó có khách sạn, ký tự . nếu không.

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

Ràng buộc

  • 3n99, n lẻ
  • 0k2×(n2)

Ví dụ

Input Output Giải thích
7 2 YES
.......
..#.#..
.......
.......
Hai khách sạn ở (2,3)(2,5), đối xứng qua cột giữa (cột 4). Cả hai hướng đều có 27 đường đi ngắn nhất. Đáp án khác cũng được chấp nhận, ví dụ đặt hai khách sạn ở (2,2)(3,2).
5 3 YES
.....
.###.
.....
.....
Ba ô (2,2), (2,3), (2,4) là toàn bộ phần trong của hàng 2. Mỗi hướng có 6 đường đi ngắn nhất (độ dài 7).
3 0 YES
...
...
...
...
Với n=3 thì 2×(n2)=2, và ở đây k=0 nên không đặt khách sạn nào.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0