Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Mar 13, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/10251

🧭 풀이 시간

30분

👀 체감 난이도

✏️ 문제 설명

M행 N열 격자 그리드 모양의 운전 면허 시험장에 세 가지 시험 규칙이 존재한다.

  1. 응시자는 가장 왼쪽 위 지점에서 시작해서 →, ↓ 방향으로만 차를 몰아 가장 오른쪽 아래 지점에 도착해야 한다.
  2. 차를 모는 시간은 격자 한 칸당 L이고, 방향을 바꾸는 데 걸리는 시간은 1이다.
  3. 시험 시작 전에 연료를 G만큼 주입한다. 응시자는 G 이하의 연료를 사용하여 가장 빠른 시간 내에 도착 지점으로 도착해야 한다.
    최단 시간을 구해보자.

🔍 풀이 방법

[사용한 알고리즘]

  • DP

오른쪽, 아래로만 이동할 수 있기 때문에, 걸리는 시간은 무조건 (L * (N+M-2)) + (방향 전환 횟수)이다.

dp[x][y][n]를 (x,y)까지 방향 전환 n회로 도달하는 경우 중 연료 소모량의 최솟값으로 정의해서, dp[N][M][n] <= G인 n의 최솟값을 찾아주면 문제를 해결할 수 있다.

⏳ 회고

다익스트라로 풀었다가 시간 초과 맞고, 굳이 다익스트라가 필요없다는 걸 깨달았다.

@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Mar 13, 2025
@oncsr oncsr merged commit 3575066 into main Mar 14, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants