Kotlin Heroes: Episode 7 |
---|
Finished |
You are given matrix $$$s$$$ that contains $$$n$$$ rows and $$$m$$$ columns. Each element of a matrix is one of the $$$5$$$ first Latin letters (in upper case).
For each $$$k$$$ ($$$1 \le k \le 5$$$) calculate the number of submatrices that contain exactly $$$k$$$ different letters. Recall that a submatrix of matrix $$$s$$$ is a matrix that can be obtained from $$$s$$$ after removing several (possibly zero) first rows, several (possibly zero) last rows, several (possibly zero) first columns, and several (possibly zero) last columns. If some submatrix can be obtained from $$$s$$$ in two or more ways, you have to count this submatrix the corresponding number of times.
The first line contains two integers $$$n$$$ and $$$m$$$ ($$$1 \le n, m \le 800$$$).
Then $$$n$$$ lines follow, each containing the string $$$s_i$$$ ($$$|s_i| = m$$$) — $$$i$$$-th row of the matrix.
For each $$$k$$$ ($$$1 \le k \le 5$$$) print one integer — the number of submatrices that contain exactly $$$k$$$ different letters.
2 3 ABB ABA
9 9 0 0 0
6 6 EDCECE EDDCEB ACCECC BAEEDC DDDDEC DDAEAD
56 94 131 103 57
3 10 AEAAEEEEEC CEEAAEEEEE CEEEEAACAA
78 153 99 0 0
Name |
---|