본문 바로가기

알고리즘 문제 풀이/Baekjoon

14501 - 퇴사

반응형
SMALL

안녕하세요. 꼬동입니다.

 

문제를 풀다가 퇴사라는 문제가 있길래

 

퇴사 기념으로 풀어보려고 합니다.

 

DP로도 풀 수 있다만은, 굳이 생각 깊게 하기 싫어서 BF로 풀었네요.

 

상담을 할 지 안 할 지만 선택하면 되는 문제이기 때문에 쉽게 풀 수 있을거라 생각합니다.

이걸 또 쓰네요.

#include <stdio.h>

int N;
int T[15 + 3];
int P[15 + 3];
int result;

void init() {
	scanf("%d", &N);
	for (int n = 0; n < N; ++n) scanf("%d %d", &T[n], &P[n]);
}

void check(int c) { if (c > result) result = c; }

void dfs(int day, int cost) {
	if (day >= N) {
		if (day == N) check(cost);
		return;
	}
	check(cost);

	dfs(day + T[day], cost + P[day]);
	dfs(day + 1, cost);
}

int main(void) {
	init();

	dfs(0, 0);

	printf("%d", result);
	return 0;
}

이상 14501 - 퇴사였습니다. ^_^

반응형
LIST

'알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글

7682 - 틱택토 (구현)  (2) 2021.09.04
15683 - 감시  (0) 2021.04.13
20055 - 컨베이어 벨트 위의 로봇  (2) 2021.04.12
1916 - 최소비용 구하기  (0) 2021.04.11
1753 - 최단경로  (0) 2021.04.10