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

FLAGRECT Đếm hình chữ nhật cờ ba sọc

Đề bài

Mô tả

Cho một lưới ô vuông kích thước n×m, mỗi ô được tô bởi một chữ cái thường (các chữ cái khác nhau biểu thị các màu khác nhau).

Một hình chữ nhật con của lưới được gọi là cờ ba sọc nếu nó được chia thành ba dải ngang có cùng chiều cao, mỗi dải gồm các ô cùng màu, sao cho:

  • Màu của dải trên cùng khác màu của dải giữa.
  • Màu của dải giữa khác màu của dải dưới cùng.

(Màu của dải trên cùng và dải dưới cùng có thể trùng nhau.)

Hãy đếm số hình chữ nhật con của lưới tạo thành một cờ ba sọc hợp lệ. Hai hình chữ nhật ở vị trí khác nhau nhưng tạo thành cùng một hình ảnh vẫn được tính là hai cờ khác nhau.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số hàng và số cột của lưới.
  • n dòng tiếp theo, mỗi dòng gồm m chữ cái thường mô tả một hàng của lưới.

Dữ liệu ra

In ra một số nguyên duy nhất là số cờ ba sọc đếm được.

Ràng buộc

  • 1n,m1000.
  • Các ký tự là chữ cái thường từ a đến z.

Ví dụ

Input Output Giải thích
4 3
aaa
bbb
ccb
ddd
6 Có 6 cờ ba sọc chiều cao 1: ba cờ dạng (aaa, bbb, cc*) ở cột 1, 2 (chỉ rộng 1 hoặc 2 ô) và ba cờ dạng (bbb, cc*, ddd) tương tự.
6 1
a
a
b
b
c
c
1 Chỉ có duy nhất một cờ: toàn bộ lưới 6×1 với ba sọc aa, bb, cc.

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