로고
면접 대비시간 제한1초메모리 제한128 MB
앞으로, 뒤로, 좌회전, 우회전 명령을 따라 거북이의 위치와 방향을 갱신하고 시작점에서 떨어진 거리를 반올림해 출력한다.
문제
Logo는 거북이(turtle)를 중심으로 만들어진 프로그래밍 언어이다. 이 언어의 명령들은 거북이를 움직이게 한다. 거북이에는 펜이 달려 있어, 거북이가 움직이면 종이 위에 선이 그려진다. 거북이를 프로그래밍하여 흥미로운 그림을 그릴 수 있다.
우리는 거북이가 그림을 그린 뒤 처음 출발한 지점으로 되돌아오게 하는 데에 관심이 있다. 예를 들어, 거북이에게 다음과 같은 프로그램을 줄 수 있다.
fd 100 lt 120 fd 100 lt 120 fd 100
fd 명령은 거북이를 지정한 단위만큼 앞으로 움직이게 한다. lt 명령은 거북이를 지정한 각도(도)만큼 왼쪽으로 회전시킨다. 따라서 위 명령들은 거북이가 한 변의 길이가 100 단위인 정삼각형을 그리게 하며, 명령을 모두 실행한 뒤 거북이는 출발한 곳과 같은 자리에 돌아온다. 거북이는 두 개의 명령을 더 이해한다. bk 명령은 거북이를 지정한 단위만큼 뒤로 움직이게 하고, rt 명령은 거북이를 지정한 각도(도)만큼 오른쪽으로 회전시킨다.
많은 명령을 실행하다 보면 거북이는 출발 지점에서 멀리 떨어져 길을 잃을 수 있다. 여정이 끝났을 때 거북이의 위치에서 출발한 위치까지의 직선 거리를 구하는 것이 당신의 과제이다.
입력
입력의 첫째 줄에는 뒤따르는 테스트 케이스의 수를 나타내는 정수 하나가 주어진다. 각 테스트 케이스는 뒤따르는 명령의 수를 나타내는 정수 하나가 있는 줄로 시작한다. 그다음 명령들이 한 줄에 하나씩 주어진다. 각 테스트 케이스의 명령 수는 1000개를 넘지 않는다.
주어지는 각도는 0 이상 360 미만이라고 가정해도 좋다.
또한, 주어지는 거리는 0보다 크고 1000000보다 작다고 가정해도 좋다.
출력
각 테스트 케이스마다, 그 거리를 가장 가까운 정수로 반올림한 값을 한 줄에 출력한다.
정답은 절대 오차 0.01 이내에서 바뀌지 않는다고 가정해도 좋다.