diff --git "a/LiiNi-coder/202511/14 PGM \355\224\274\353\241\234\353\217\204.md" "b/LiiNi-coder/202511/14 PGM \355\224\274\353\241\234\353\217\204.md" new file mode 100644 index 00000000..0605f15e --- /dev/null +++ "b/LiiNi-coder/202511/14 PGM \355\224\274\353\241\234\353\217\204.md" @@ -0,0 +1,33 @@ +```java +import java.util.*; + +class Solution { + private int maxCount = 0; + + public int solution(int k, int[][] dungeons){ + boolean[] visited = new boolean[dungeons.length]; + dfs(k, dungeons, visited, 0); + return maxCount; + } + + private void dfs(int cur, int[][] dungeons, boolean[] visited, int count){ + if(count > maxCount){ + maxCount = count; + } + for(int i = 0; i < dungeons.length; i++){ + if(visited[i]) { + continue; + } + int required = dungeons[i][0]; + int cost = dungeons[i][1]; + if(cur < required){ + continue; + } + visited[i] = true; + dfs(cur - cost, dungeons, visited, count + 1); + visited[i] = false; + } + } +} + +```