Tranh Hang Động

Đề bài

Mô tả

Cho một lưới ô vuông N×M, trong đó mỗi ô có thể là đá (#) hoặc trống (.). Toàn bộ viền ngoài của lưới đều là đá. Một bức tranh hợp lệ là cách tô màu một số ô trống thành nước, sao cho thỏa mãn điều kiện sau:

Nếu ô a là nước, và tồn tại đường đi từ a đến b chỉ qua các ô trống hoặc nước không cao hơn a (liền kề theo cạnh), thì b cũng phải là nước.

(Ô ở hàng i có "độ cao" bằng Ni, tức là hàng dưới cùng là thấp nhất.)

Đếm số bức tranh hợp lệ modulo 109+7.

Dữ liệu vào

  • Dòng đầu: NM (1N,M1000).
  • N dòng tiếp theo: mỗi dòng gồm M ký tự . hoặc #.

Dữ liệu ra

Một số nguyên duy nhất — số bức tranh hợp lệ modulo 109+7.

Ví dụ

Input Output Giải thích
4 9
#########
#...#...#
#.#...#.#
#########
9 Có 2 vùng hang động độc lập, mỗi vùng có 3 cách tô, tổng 3×3=9.

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