IQ тест для роботов
시간 제한2초메모리 제한512 MB
질의된 칸마다 같은 행과 같은 열에서 색이 다른 두 칸을 맨해튼 거리가 최소가 되도록 고르고, 불가능하면 -1을 출력합니다.
문제
Лёша готовит своего робота к тестированию IQ. В 2116 году тестирование IQ для роботов проходит следующим образом. Роботу демонстрируется прямоугольная таблица, содержащая строк и столбцов, каждая клетка которой покрашена в какой-либо цвет.
Затем экзаменатор раз просит робота выполнить следующее задание. Экзаменатор указывает на некоторую клетку в таблице, а робот в качестве ответа должен выбрать две другие клетки. При этом должны выполняться следующие условия.
- Ни одна из выбранных роботом клеток не должна совпадать с указанной экзаменатором.
- Одна из выбранных клеток должна лежать в одном столбце с указанной, а другая --- в одной строке.
- Цвета двух выбранных роботом клеток должны быть различны.
- Расстояние между выбранными клетками должно быть минимально. Расстояние между клетками и определяется как .
Бывает, что выбрать две клетки описанным образом невозможно, в этом случае в качестве ответа на задание робот должен сообщить об этом.
Лёша хочет научить своего робота справляться с заданием как можно лучше. Помогите ему запрограммировать робота.
입력
В первой строке находятся целые числа и --- количество строк и столбцов в таблице, соответственно (; ).
Следующие строк содержат по строчных латинских букв --- описание таблицы, -й символ -й из этих строк задает цвет клетки . Одинаковые буквы обозначают одинаковый цвет, а разные --- разный.
В следующей строке находится число --- количество вопросов экзаменатора ().
Следующие строк содержат описание вопросов. В -й из этих строк находятся два числа и --- номер строки и столбца, на пересечении которых находится клетка, для которой требуется найти ответ (, ).
출력
Для каждого вопроса выведите ответ в отдельной строке. Если невозможно найти пару клеток, удовлетворяющих всем условиям, выведите -1. Иначе выведите четыре числа , , , --- описание двух выбранных клеток. Если оптимальных ответов несколько, выведите любой.