АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

1686. Конкурс капитанов

Ограничение времени: 1 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

В лагере, где летом отдыхал Вася, часто устраивали математические бои. Частью таких боёв является игра на конкурс капитанов. Суть игры состоит в следующем. Дано клетчатое поле размером M × N клеток. Двое игроков по очереди ставят крестик в свободную клетку. Проигрывает игрок, после хода которого на поле впервые образовался параллелограмм с вершинами в центрах клеток, помеченных крестиками.

Вернувшись из лагеря, Вася решил написать программу, позволяющую играть в такую игру на компьютере. Однако, у него возникли сложности с проверкой, действительно ли на поле имеется параллелограмм. Помогите ему − напишите программу, которая находит на поле параллелограмм и выводит координаты его вершин в порядке обхода.

Примечание: параллелограмм должен быть невырожденным, то есть никакие три его вершины не лежат на одной прямой.

Входные данные

В первой строке записаны через пробел числа M и N − размеры поля (2 ≤ MN ≤ 255). В следующих M строках записано по N символов '.' (точка) или 'x' (маленькая латинская буква "икс"), где символ '.' означает пустую клетку, символ 'x' означает клетку, помеченную крестиком.

Примечание: поле не обязательно получено в ходе вышеописанной игры − оно может быть заполнено крестиками произвольным образом.

Выходные данные

Если параллелограмм на поле есть, то выведите восемь чисел, разделённых пробелом − координаты вершин параллелограмма в порядке обхода. Для каждой вершины вначале пишется номер строки, затем − номер столбца. Строки и столбцы нумеруются с единицы.

Если на поле имеется несколько параллелограммов, то можно вывести любой из них. При этом вывод можно начать с любой вершины и идти как по часовой стрелке, так и против.

Если параллелограмма на поле нет, то выведите -1.

Пример ввода 1

4 7

.x.....

......x

x......

.....x.

Пример вывода 1

1 2

2 7

4 6

3 1

Пример ввода 2

4 5

.....

.xxxx

.....

...x.

Пример вывода 2

-1

Система оценивания.

Подзадача 1 (до 50 баллов): 2 ≤ MN ≤ 20.

Подзадача 2 (до 25 баллов): 2 ≤ MN ≤ 50.

Подзадача 3 (до 25 баллов): 2 ≤ MN ≤ 255.

 


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Школьные олимпиады и курсы Вологодской области / ВсОШ, муниципальные этапы / Муниципальный этап 2016-17 / Классы 9-11 /
1685. 3 - Возраст 1686.
 
время генерации 0.093 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.