7121 : 시뮬레이션 — 로봇 이동
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
N × M 격자 위에서 로봇을 움직이는 시뮬레이션 프로그램을 구현하십시오.
로봇은 시작 위치
-
-
-
[제약 조건]
• 명령의 길이는 1,000 이하입니다
로봇은 시작 위치
(r, c)와 현재 방향을 가지며, 명령열에 따라 다음과 같이 동작합니다.-
L: 왼쪽(반시계방향)으로 90도 회전-
R: 오른쪽(시계방향)으로 90도 회전-
F: 현재 방향으로 앞장 서서 한 칸 이동. 단, 격자 범위를 이탈하는 이동 명령은 무시하고 로봇의 원래 위치를 유지합니다.[제약 조건]
• 명령의 길이는 1,000 이하입니다
입력 설명
첫째 줄에 격자의 세로 크기 N과 가로 크기 M이 공백으로 구분되어 주어집니다. (1 ≤ N, M ≤ 100)
둘째 줄에 로봇의 시작 행
셋째 줄에 명령 문자열이 공백 없이 주어집니다. 명령의 길이는 1,000 이하입니다.
둘째 줄에 로봇의 시작 행
r, 열 c와 시작 방향 d가 주어집니다. (0 ≤ r < N, 0 ≤ c < M, d는 U, D, L, R 중 하나)셋째 줄에 명령 문자열이 공백 없이 주어집니다. 명령의 길이는 1,000 이하입니다.
출력 설명
모든 명령을 수행한 후 로봇의 최종 위치와 방향을
r c d 형식으로 공백으로 구분하여 한 줄에 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5 5
2 2 U
FLFRFF
출력 예시
COPY
복사되었습니다!
복사되었습니다!
0 1 U
도움
방향을 나타내는 인덱스를 정의하고
L, R 명령 시 인덱스를 조절합니다. F 명령 시 0 ≤ nr < N and 0 ≤ nc < M 조건을 만족할 때만 좌표를 업데이트합니다.