13078. Квадратний паліндром


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Андрій щойно здійснив прорив в інформаційних технологіях: він зрозумів, як можна швидко знаходити найбільший квадратний паліндром в заданому прямокутнику з літер. Чи зможете ви зробити те саме?

Квадрат, що складається з \(n\) рядків по \(n\) букв у кожному, називається квадратним паліндромом розміру \(n\), якщо кожен рядок і кожен стовпець є паліндром. Рядок називається паліндромом, якщо її перша буква збігається з останньою, друга збігається з передостанньої і т.д.

Формат вхідних даних

У першому рядку вхідного файлу містяться два числа \(h\) і \(w\) (\(1 \le h,w \le 700\)) - висота і ширина заданого прямокутника з літер.

Далі \(h\) рядків містять \(w\) букв - власне заданий прямокутник.

Формат вихідних даних

Виведіть координати максимального квадратного паліндрому, що є частиною заданого прямокутника з літер. Виведіть чотири числа: перший рядок квадрата, перший стовпець, останній рядок та останній стовпець. Рядки нумеруються від \(1\) до \(h\), стовпці нумеруються від \(1\) до \(w\). Якщо є кілька рішень, виведіть будь-яке.

Приклад вхідних даних

5 10
abccbfghij
abccbfghij
abccbfghij
abccbfghij
abcdefghij

Приклад вихідних даних

1 2 4 5

Коментарі

Ще немає коментарів.