벽에 부딪히는 청소로봇
의견: 0
\(R\)행 \(C\)열짜리 방을 청소로봇이 돌아다닌다. 행 번호는 위에서부터 \(1\)부터 \(R\)까지, 열 번호는 왼쪽에서부터 \(1\)부터 \(C\)까지 매겨져 있다.
로봇은 처음에 \((sr, sc)\) 칸에 있고, 명령 문자열을 앞에서부터 한 글자씩 따른다. 각 명령은 다음과 같다.
U: 한 칸 위로 (행이 \(1\)만큼 작아진다)D: 한 칸 아래로 (행이 \(1\)만큼 커진다)L: 한 칸 왼쪽으로 (열이 \(1\)만큼 작아진다)R: 한 칸 오른쪽으로 (열이 \(1\)만큼 커진다)
만약 어떤 명령이 로봇을 방 밖으로 내보낸다면, 로봇은 벽에 막혀 그 자리에 그대로 머문다. 모든 명령을 수행한 뒤 로봇이 있는 칸을 구하여라.
\(1 \le R, C \le 1000\), \(1 \le sr \le R\), \(1 \le sc \le C\), 명령의 길이는 \(0\) 이상 \(100\,000\) 이하이다.
첫째 줄에 방의 크기 \(R\)과 \(C\)가 주어진다.
둘째 줄에 시작 칸의 행과 열 \(sr\), \(sc\)가 주어진다.
셋째 줄에 U, D, L, R로 이루어진 명령 문자열이 주어진다 (빈 문자열일 수 있다).
최종 위치의 행과 열을 공백으로 구분하여 출력한다.
3 4
2 2
RRRDD
3 4
오른쪽으로 세 번 가면 열이 \(4\)에서 멈추고, 아래로 두 번 가면 행이 \(3\)에서 멈춘다. 최종 위치는 \((3,4)\)이다.
1 1
1 1
URDL
1 1
\(1\times1\) 격자에서는 어디로도 움직일 수 없으므로 그대로 \((1,1)\)이다.
riseoj 작성
출처 Original
평가 및 의견
벽에 부딪히는 청소로봇
Log in to rate problems.
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
벽에 부딪히는 청소로봇