문제 : https://www.acmicpc.net/problem/14501
코드 :
#include <iostream>
using namespace std;
int tnum[16] = { 0 };
int pnum[16] = { 0 };
int total = 0;
void solution(int day, int sum, int n)
{
//탈출조건
if(day == n +1)//if (day + tnum[day] - 1 > n)
{
if (total < sum)
{
total = sum;
}
return;
}
if (day > n + 1)
{
return;
}
solution(day + tnum[day], sum + pnum[day], n);
solution(day + 1, sum, n);
}
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> tnum[i] >> pnum[i];
}
//계산 편하게 하기위해 인덱스 1부터 시작
//solution(1, n, 0);
solution(1, 0, n);
cout << total << endl;
return 0;
}
'algorithm > ACMICPC' 카테고리의 다른 글
테트로미노 - 14500 (Solve 2) (0) | 2019.12.14 |
---|---|
사다리 조작 - 15684 (0) | 2019.12.08 |
부분수열의 합 - 1182 (0) | 2019.12.03 |
암호 만들기 -1759 (0) | 2019.12.03 |
연산자 끼워넣기 (2) - 15658 (0) | 2019.12.03 |
댓글