7136 : 공 굴리기 시뮬
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
N × M 크기의 격자 지도의 높이 정보가 주어지고, 특정 위치에 공을 올려놓았을 때 공이 경사를 따라 굴러가 멈추는 최종 좌표를 계산하십시오.
- 공은 현재 위치의 상하좌우 인접 칸 중 **높이가 현재보다 더 낮은** 칸으로만 이동합니다.
- 만약 낮은 칸이 여러 개라면, 그 중 **가장 낮은** 칸(즉 높이 차이가 가장 큰 곳)으로 이동합니다.
- 차이가 같은 후보가 여러 개라면,
- 더 이상 낮아질 수 없는 칸에 도달하면 공은 멈춥니다.
[제약 조건]
• 높이는 1,000 이하의 자연수입니다
- 공은 현재 위치의 상하좌우 인접 칸 중 **높이가 현재보다 더 낮은** 칸으로만 이동합니다.
- 만약 낮은 칸이 여러 개라면, 그 중 **가장 낮은** 칸(즉 높이 차이가 가장 큰 곳)으로 이동합니다.
- 차이가 같은 후보가 여러 개라면,
상 → 하 → 좌 → 우 순서로 우선순위를 둡니다.- 더 이상 낮아질 수 없는 칸에 도달하면 공은 멈춥니다.
[제약 조건]
• 높이는 1,000 이하의 자연수입니다
입력 설명
첫째 줄에 세로 크기 N과 가로 크기 M이 공백으로 구분되어 주어집니다. (1 ≤ N, M ≤ 100)
둘째 줄부터 N개의 줄에 격자의 높이 정보가 공백으로 구분되어 주어집니다. 높이는 1,000 이하의 자연수입니다.
마지막 줄에 공의 시작 좌표
둘째 줄부터 N개의 줄에 격자의 높이 정보가 공백으로 구분되어 주어집니다. 높이는 1,000 이하의 자연수입니다.
마지막 줄에 공의 시작 좌표
r c가 주어집니다.출력 설명
공이 멈춘 최종 위치의 행과 열 번호를
r c 형식으로 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
3 3
9 8 7
2 1 6
3 4 5
0 0
출력 예시
COPY
복사되었습니다!
복사되었습니다!
1 1
도움
반복문을 돌면서 상하좌우 네 방향의 칸 중
grid[nr][nc] < grid[r][c]를 만족하는 최대 경사 차이를 찾아 좌표를 이동시키고, 이동이 불가능하면 루프를 종료합니다.