Domino trên lưới

Đề bài

Mô tả

Cho một lưới gồm h hàng và w cột. Mỗi ô của lưới hoặc trống (ký hiệu là ký tự .) hoặc bị cấm (ký hiệu là ký tự #). Các hàng được đánh số từ 1 đến h từ trên xuống dưới, các cột được đánh số từ 1 đến w từ trái sang phải.

Một quân domino chiếm đúng hai ô kề nhau, hoặc nằm trong cùng một hàng (kề nhau theo chiều ngang) hoặc nằm trong cùng một cột (kề nhau theo chiều dọc). Một quân domino chỉ có thể được đặt nếu cả hai ô mà nó chiếm đều trống và đều nằm trong lưới.

Cho q truy vấn. Mỗi truy vấn gồm bốn số nguyên r1,c1,r2,c2 mô tả một hình chữ nhật con với ô trái-trên là (r1,c1) và ô phải-dưới là (r2,c2). Với mỗi truy vấn, hãy đếm số cách đặt một quân domino sao cho cả hai ô mà nó chiếm đều nằm hoàn toàn bên trong hình chữ nhật con này.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên hw.
  • h dòng tiếp theo, mỗi dòng chứa một xâu độ dài w gồm các ký tự .# mô tả lưới.
  • Dòng tiếp theo chứa một số nguyên q — số truy vấn.
  • Mỗi dòng trong q dòng tiếp theo chứa bốn số nguyên r1i,c1i,r2i,c2i mô tả truy vấn thứ i.

Dữ liệu ra

In ra q dòng, dòng thứ i là số cách đặt một quân domino trong hình chữ nhật con của truy vấn thứ i.

Ràng buộc

  • 1h,w500
  • 1q100000
  • 1r1ir2ih
  • 1c1ic2iw

Ví dụ

Input Output Giải thích
5 8
....#..#
.#......
##.#....
##..#.##
........
4
1 1 2 3
4 1 4 1
1 2 4 5
2 5 5 8
4
0
10
15
Truy vấn 1: hình chữ nhật 2×3 ở góc trên-trái có 4 cách đặt domino. Truy vấn 2: hình chữ nhật 1×1 không thể chứa domino nào.
1 1
.
1
1 1 1 1
0 Một ô đơn lẻ không thể chứa quân domino nào (domino cần hai ô).

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