7129 : 팩맨 시뮬레이션
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
N × M 크기의 2차원 격자 위에서 팩맨이 이동하는 시뮬레이션을 구현하십시오.
- 격자의 각 칸은 빈칸(
- 팩맨은 상, 하, 좌, 우 명령에 맞춰 한 칸 이동하며, 벽이 있는 칸으로는 이동할 수 없습니다.
- 먹이가 있는 칸을 처음 밟을 때 점수를 1점 획득하며, 해당 칸의 먹이는 사라집니다.
시뮬레이션 종료 후 획득한 총 점수와 최종 팩맨의 위치를 출력하십시오.
[제약 조건]
• 입력되는 모든 수는 정수입니다.
- 격자의 각 칸은 빈칸(
.), 벽(#), 또는 먹이(o)입니다.- 팩맨은 상, 하, 좌, 우 명령에 맞춰 한 칸 이동하며, 벽이 있는 칸으로는 이동할 수 없습니다.
- 먹이가 있는 칸을 처음 밟을 때 점수를 1점 획득하며, 해당 칸의 먹이는 사라집니다.
시뮬레이션 종료 후 획득한 총 점수와 최종 팩맨의 위치를 출력하십시오.
[제약 조건]
• 입력되는 모든 수는 정수입니다.
입력 설명
첫째 줄에 격자의 세로 크기 N과 가로 크기 M이 공백으로 구분되어 주어집니다. (1 ≤ N, M ≤ 100)
둘째 줄부터 N개의 줄에 격자의 모양이 한 문자씩 공백으로 구분되어 주어집니다.
다음 줄에 팩맨의 시작 행과 열 좌표
마지막 줄에 이동 명령 문자열(
둘째 줄부터 N개의 줄에 격자의 모양이 한 문자씩 공백으로 구분되어 주어집니다.
다음 줄에 팩맨의 시작 행과 열 좌표
r c가 주어집니다. (0-indexed)마지막 줄에 이동 명령 문자열(
U, D, L, R로만 구성)이 주어집니다.출력 설명
첫째 줄에 획득한 총 점수를 출력합니다.
둘째 줄에 최종 팩맨의 위치를
둘째 줄에 최종 팩맨의 위치를
r c 형식으로 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
3 3
. o .
o # o
. . .
0 0
RRDLL
출력 예시
COPY
복사되었습니다!
복사되었습니다!
2
1 2
도움
2차원 배열 상에서 팩맨의 위치
(r, c)를 이동시키며, 방문한 칸이 o인 경우 점수를 추가하고 해당 격자의 값을 .로 변경해 재획득을 방지합니다.