출처 - 백준사이트
나의 풀이
#include <iostream>
using namespace std;
int N = 0;
int daypay[2][15];
int result;
int day, pay;
void dfs(int idx) {
for (int i=idx ; i<N ; i++) {
if (N-i >= daypay[0][i] && (day + daypay[0][i] <= N)) {
day += daypay[0][i];
pay += daypay[1][i];
dfs(i+daypay[0][i]);
day -= daypay[0][i];
pay -= daypay[1][i];
}
}
if (result<pay)
result = pay;
}
int main (void) {
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin >> N;
for (int i=0 ; i<N ; i++)
cin >> daypay[0][i] >> daypay[1][i];
dfs(0);
cout << result;
return 0;
}728x90
'Algorithm > 삼성 SW 역량 테스트 기출 문제' 카테고리의 다른 글
| [Baekjoon][16236] 아기 상어 (2) | 2022.03.08 |
|---|---|
| [Baekjoon][14502] 연구소 (2) | 2022.03.08 |
| [Baekjoon][20061] 모노미노도미노 2 (1) | 2022.02.28 |
| [Baekjoon][17825] 주사위 윷놀이 (1) | 2022.02.25 |
| [Baekjoon][17837] 새로운 게임 2 (0) | 2022.02.23 |
댓글