시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
종혁이와 재홍이는 종이 레이싱을 한다. 트랙은 정사각형 칸으로 나뉜 종이 위에 그려져 있다. 각 칸은 도로이거나 장애물이며, 두 도로 칸은 각각 시작과 끝으로 표시되어 있다. 목표는 시작 칸에서 차를 출발시켜 가능한 한 빨리 끝 칸에 도달하는 것이다.
이 게임에서 차는 하나의 점으로 표현된다. 이동은 턴 단위로 이루어진다. 각 턴이 시작될 때 차는 어떤 칸의 중심에 있다. 한 턴 동안 차는 다른 칸의 중심으로 이동한다. 차의 속도는 정수 좌표를 가진 벡터이다. 각 턴은 다음 순서로 진행된다.
(r, c)에 있고 속도가 (vr, vc)라면, 새 좌표는 (r + vr, c + vc)이다. 차는 이전 칸의 중심과 새 칸의 중심을 잇는 직선분을 따라 이동한다.이동 경로가 끝으로 표시된 도로 칸을 지나면 게임은 즉시 끝나며, 그때까지 사용한 턴 수가 시간이 된다. 게임이 끝나기 전에 경로가 장애물을 지나면 차는 부서져 더 이상 끝까지 갈 수 없다. 단, 장애물을 스치기만 하는 것은 허용된다.
차는 종이를 벗어날 수 없으며, 종이를 벗어나면 실격된다.
이동하려는 도착 위치가 장애물이거나 종이 밖이더라도, 그 전에 끝을 통과했다면 게임은 성공적으로 끝난다.
종이의 모양과 초기 속도 vr, vc가 주어졌을 때, 게임을 끝내는 데 필요한 최소 턴 수를 구하시오. 끝까지 가는 것이 불가능하면 -1을 출력하시오.
첫째 줄에 N과 M이 주어진다. 둘째 줄부터 N개의 줄에 종이의 모양이 주어진다. .은 도로, S는 시작, F는 끝, X는 장애물이다. 마지막 줄에는 vr과 vc가 주어진다.
N과 M은 50보다 작거나 같은 자연수이고, vr과 vc는 절댓값이 50보다 작거나 같은 정수이다. 종이에는 S와 F가 각각 정확히 하나씩 있다.
첫째 줄에 정답을 출력한다.