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

Váy đầm mới

Đề bài

Mô tả

Cho một tấm vải hình chữ nhật kích thước n×m ô vuông, mỗi ô được tô bởi một màu (ký hiệu bởi một chữ cái Latin in thường).

Một mẫu váy là một hình thoi (rhombus) — hình vuông xoay 45 — gồm các ô của tấm vải, sao cho:

  • Tất cả các ô thuộc mẫu váy có cùng một màu.
  • Mẫu váy nằm hoàn toàn bên trong tấm vải.
  • Các cạnh của mẫu váy tạo với cạnh của tấm vải góc 45.

Một mẫu váy "kích thước" r (r1) có tâm tại ô (i,j) là tập hợp tất cả các ô (i,j) thỏa |ii|+|jj|r1. Khi r=1 mẫu chỉ gồm một ô.

Hãy đếm số mẫu váy hợp lệ. Hai mẫu được coi là khác nhau nếu chúng khác nhau về tâm hoặc về kích thước.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên nm (1n,m2000).

Tiếp theo là n dòng, mỗi dòng gồm m ký tự chữ cái Latin in thường mô tả màu của các ô.

Dữ liệu ra

In ra một số nguyên — số mẫu váy hợp lệ.

Ràng buộc

  • 1n,m2000
  • Các ký tự là chữ cái Latin in thường.

Ví dụ

Input Output Giải thích
3 3
aaa
aaa
aaa
10 9 mẫu kích thước 1 (mỗi ô) và 1 mẫu kích thước 2 tâm tại ô giữa.
3 4
abab
baba
abab
12 Mọi cặp ô kề nhau đều khác màu, nên chỉ có 12 mẫu kích thước 1.
5 5
zbacg
baaac
aaaaa
eaaad
weadd
31 25 mẫu kích thước 1, cộng thêm 5 mẫu kích thước 21 mẫu kích thước 3 ở vùng "aaaa" liên thông.

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