충돌 경보
시간 제한1초메모리 제한1024 MB
격자 위에서 당신과 각 유령의 시작 위치와 이동 방향이 주어질 때, 당신이 어떤 유령과 가장 먼저 만나는 시각을 구하고 만나지 않으면 SAFE를 출력합니다.
문제
당신은 가까스로 저주받은 저택에서 빠져나왔다. 남은 장애물은 정사각형 들판 하나뿐이다. 들판은 완전히 평평하니 건너기 쉬워 보이지만, 들판에는 유령이 가득하다.
출발할 때(초) 당신과 각 유령은 정수 좌표에 있다. 들판의 중심은 이다. 어떤 유령도 당신이나 다른 유령과 같은 위치에서 시작하지 않는다.
당신과 유령은 들판의 변과 평행한 직선으로만 움직일 수 있다. 모두가 같은 방향으로 가는 것은 아니다. 모든 유령은 당신과 크기가 같다. 당신과 유령은 한번 출발하면 방향을 바꿀 수 없다.
당신과 유령은 동시에 출발하며, 모두 일정한 속력 1 단위/초로 움직인다.
유령끼리는 서로 통과할 수 있고, 통과해도 속력과 방향은 변하지 않는다. 유령이 들판의 경계를 넘으면 들판 밖으로 나가며, 그 뒤로는 충돌이 일어날 수 있는 공간에 속하지 않는다.
당신과 각 유령의 시작 위치와 방향이 주어졌을 때, 당신이 유령 중 하나와 처음 충돌하는 시각을 구하라. 어떤 유령과도 충돌하지 않으면 SAFE를 출력한다.
입력
첫 줄에 테스트 케이스 수 ()가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다.
테스트 케이스의 첫 줄에는 X Y DIR이 주어진다. 는 당신의 시작 위치이고 (), DIR은 이동 방향이다. DIR은 N(북, Y가 양의 방향), S(남, Y가 음의 방향), E(동, X가 양의 방향), W(서, X가 음의 방향) 중 하나다.
다음 줄에는 유령의 수 ()가 주어진다. 이어서 개의 줄에 각 유령의 시작 위치와 이동 방향이 X Y DIR 형식으로 주어진다. 제약은 당신의 경우와 같다.
출력
각 테스트 케이스마다 당신이 유령과 충돌하는 가장 이른 시각을 초 단위로 출력한다. 소수점 아래 한 자리로 반올림한다. 어떤 유령과도 충돌하지 않으면 SAFE를 출력한다.