Kotlin Heroes: Episode 7 |
---|
Закончено |
Вам дана матрица $$$s$$$, содержащая $$$n$$$ строк и $$$m$$$ столбцов. Каждый элемент матрицы представляет собой одну из первых $$$5$$$ латинских букв (в верхнем регистре).
Для каждого $$$k$$$ ($$$1 \le k \le 5$$$) посчитайте количество подматриц, содержащих ровно $$$k$$$ различных букв. Напомним, что подматрица матрицы $$$s$$$ — это матрица, которую можно получить из $$$s$$$ после удаления нескольких (возможно, нуля) первых строк, нескольких (возможно, нуля) последних строк, нескольких (возможно, нуля) первых столбцов и нескольких (возможно, нуля) последних столбцов. Если некоторая подматрица может быть получена из $$$s$$$ двумя или более способами, вы должны учесть эту подматрицу соответствующее количество раз.
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 800$$$).
Затем следует $$$n$$$ строк, каждая из которых содержит строку $$$s_i$$$ ($$$|s_i| = m$$$) — $$$i$$$-я строка матрицы.
Для каждого $$$k$$$ ($$$1 \le k \le 5$$$) выведите одно целое число — количество подматриц, содержащих ровно $$$k$$$ различных букв.
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
Название |
---|