Computer Science&Engineering/코딩테스트
[백준 14501] 퇴사 C++
EDDO
2021. 4. 17. 16:21
# 문제링크
14501번: 퇴사
첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다.
www.acmicpc.net
삼성 기출 문제집에서 문제를 하나씩 풀고 있다. 대부분 골드 난이도의 문제였는데,, 이건 실버 난이도다. 제발 이런 문제가 하나 나왔으면 좋겠다.. DFS 기본 문제 느낌이다..
# 제출 코드
#include <cstdio>
using namespace std;
int N;
int map[16][2]; // 0은 time, 1은 pay
int ans;
void DFS(int start, int pay) {
if (pay > ans) ans = pay;
for (int i = start; i <= N; i++) {
if (i + map[i][0] > N + 1) continue;
DFS(i + map[i][0], pay + map[i][1]);
}
}
int main() {
scanf("%d", &N);
for (int i = 1; i <= N; i++) {
scanf("%d %d", &map[i][0], &map[i][1]);
}
DFS(1, 0);
printf("%d\n", ans);
}
반응형