Стрелочник
시간 제한3초메모리 제한1024 MB
화살표가 매초 45도씩 회전하는 격자에서, 화살표 칸에 들어서면 그 순간 화살표가 가리키는 칸으로 순간이동하며 시작점에서 도착점까지 가는 최소 시간을 구한다.
문제
Загулявшись поздно Хэллоуинской ночью, вы и сами не заметили, как попали в ловушку к демону-стрелочнику. Было бы здорово выбраться из нее до рассвета, а иначе у вас будут все шансы остаться в ней навсегда (ну или как минимум до следующего Хэллоуина).
Ловушка представляет из себя матрицу размера . Некоторые клетки матрицы пусты, а в некоторых нарисованы стрелочки в соседние по стороне или углу клетки. Каждую секунду все стрелочки поворачиваются на градусов по часовой стрелке.
Обозначим направление вверх как , вправо-вверх как и так далее, пустую клетку обозначим точкой. Вы находитесь в клетке с координатами , и,
- находясь в пустой клетке, можете либо секунду подождать в ней, либо за секунду переместиться в соседнюю по стороне клетку;
- попадая на клетку со стрелочкой, вы моментально (за секунд) переноситесь туда, куда она указывает.
Когда вы переходите на клетку со стрелкой, она уже успевает повернуться за ту секунду, что вы шагали. Ваша задача --- выбраться из ловушки как можно скорее. Попадите из стартовой точки в конечную за минимальное количество секунд, либо определите, что это невозможно, и смиритесь с тем, что вам не выбраться.
입력
В первой строке через пробел даны два целых числа и --- размеры ловушки ().
Во второй строке даны два целых числа и --- координаты стартовой клетки (; ).
В третьей строке так же даны два целых числа и --- координаты конечной клетки (, ).
Далее следуют строк по символов --- описание матрицы. Гарантируется, что ни в стартовой, ни в конечной точке нет стрелочек.
출력
В качестве ответа выведите минимальное время, необходимое, чтобы добраться из в , либо , если это невозможно.