프로그래머스 피로도 C++
2023. 10. 20. 00:21ㆍ알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/87946
이 문제는 dfs 문제이다.
#include <string>
#include <cstring>
#include <vector>
#include <iostream>
using namespace std;
vector<vector<int>> Dungeons;
int visited[5001];
int Answer;
void dfs(int total, int cnt){
if (cnt > Answer){
Answer=cnt;
}
for (int i=0;i<Dungeons.size();i++){
if (total >= Dungeons[i][0] && visited[i]==0){
visited[i]=1;
dfs(total-Dungeons[i][1], cnt+1);
visited[i]=0;
}
}
}
int solution(int k, vector<vector<int>> dungeons) {
int answer = -1;
Dungeons = dungeons;
Answer = answer;
memset(visited, 0, sizeof(visited));
dfs(k, 0);
answer = Answer;
return answer;
}
'알고리즘' 카테고리의 다른 글
프로그래머스 미로 탈출 C++ (1) | 2023.10.21 |
---|---|
프로그래머스 카펫 C++ (0) | 2023.10.20 |
프로그래머스 모의고사 C++ (0) | 2023.10.19 |
프로그래머스 같은 숫자는 싫어 C++ (0) | 2023.10.19 |
프로그래머스 소수찾기 C++ (0) | 2023.10.19 |