trang chủ / đề bài / foxcross

Cáo và Chữ Thập

Đề bài

Mô tả

Cho một bảng vuông kích thước n×n ô. Mỗi ô chứa một trong hai ký tự: dấu chấm . (ô trống) hoặc dấu thăng # (ô được đánh dấu).

Một hình chữ thập gồm đúng 5 ô tạo thành hình dấu cộng: một ô trung tâm cùng với bốn ô kề nó theo hướng trên, dưới, trái, phải.

Ta muốn phủ toàn bộ các ô # bằng một số hình chữ thập (có thể là 0 hình) sao cho:

  • Mỗi hình chữ thập phủ đúng 5 ô đều mang ký tự #.
  • Mỗi ô # phải thuộc về đúng một hình chữ thập.
  • Không có hai hình chữ thập nào phủ chung một ô.

Hãy xác định có thể phủ được như vậy hay không.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n: kích thước bảng.
  • n dòng tiếp theo, mỗi dòng gồm n ký tự mô tả một hàng của bảng (mỗi ký tự là . hoặc #).

Dữ liệu ra

In ra YES nếu có thể phủ tất cả các ô # bằng các hình chữ thập theo yêu cầu, ngược lại in ra NO.

Ràng buộc

  • 3≤n≤100

Ví dụ

Input Output Giải thích
5
.#...
####.
.####
...#.
.....
YES Có thể vẽ được hai hình chữ thập phủ hết mọi ô #.
4
####
####
####
####
NO Có 16 ô #, không chia hết cho 5 nên không thể phủ.
3
...
...
...
YES Không có ô # nào, phủ bằng 0 hình chữ thập.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0