λ¬Έμ
μ½λ
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int ans = 0;
int backtracking(vector<int> visited, int explore_cnt, int curr_point, vector<vector<int>>& dungeons){
for(int i=0; i<dungeons.size(); i++){
int need_point = dungeons[i][0];
int use_point = dungeons[i][1];
if(curr_point>=need_point){
if(!visited[i]){
visited[i]=1;
ans = max(ans, backtracking(visited, explore_cnt+1, curr_point - use_point, dungeons));
visited[i]=0;
}
}
}
return explore_cnt;
}
int solution(int k, vector<vector<int>> dungeons) {
vector<int>visited(50);
backtracking(visited,0,k,dungeons);
return ans;
}
νμ΄
μμ νμ λ¬Έμ μΈλ° ν΄λΉ λμ μ κ³ λ₯΄λλ° μμκ° μκΈ° λλ¬Έμ λ°©λ¬Έ μ²λ¦¬λ₯Ό ν΄κ°λ©΄μ λͺ¨λ κ²½μ°μ μλ₯Ό λ°μ ΈμΌ νλ λ¬Έμ μ λλ€. λ¬Έμ μ체λ ν¬κ² μ΄λ ΅μ§ μμκ³ νν λ°±νΈλνΉμ μ΄μ©νλ νν μμ νμ λ¬Έμ μ€ νλμμ΅λλ€.
'Algorithm π§π»βπ» > νλ‘κ·Έλλ¨Έμ€(Programmers)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[c++] νλ‘κ·Έλλ¨Έμ€ - [1μ°¨] μΊμ(Level 2) (0) | 2022.04.07 |
---|---|
[c++] νλ‘κ·Έλλ¨Έμ€ - νλ¦°ν°(Level 2) (0) | 2022.03.23 |
[c++] νλ‘κ·Έλλ¨Έμ€ - μΌκ° λ¬ν½μ΄(Level 2) (0) | 2022.03.14 |
[c++] νλ‘κ·Έλλ¨Έμ€ - μμ΄ λλ§μκΈ°(Level 2) (0) | 2022.03.04 |
[c++] νλ‘κ·Έλλ¨Έμ€ - μ½μμ κ°μμ λ§μ (Level 1) (0) | 2022.02.13 |
[c++] νλ‘κ·Έλλ¨Έμ€ - νΌλ³΄λμΉ μ( Level2) (0) | 2021.11.08 |
λκΈ