[白俊]14501号
💻 C++ベース
退社する
https://www.acmicpc.net/problem/14501
✔DPも解決できますが、問題は簡単です.DFSに直接移動してすべての内容を確認できます.
退社する
https://www.acmicpc.net/problem/14501
✔DPも解決できますが、問題は簡単です.DFSに直接移動してすべての内容を確認できます.
#include <cstdio>
#include <algorithm>
#define MAX_N 16
using namespace std;
int N;
int T[MAX_N], P[MAX_N];
int benefit = 0;
void func(int idx, int total)
{
if (idx + T[idx] - 1 >= N)
{
benefit = max(benefit, total);
return;
}
total += P[idx];
int next = idx + T[idx];
for (int i = next; i < N; i++)
{
func(i, total);
}
benefit = max(benefit, total);
}
int main()
{
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d %d", &T[i], &P[i]);
}
for (int i = 0; i < N; i++)
{
func(i, 0);
}
printf("%d", benefit);
return 0;
}
Reference
この問題について([白俊]14501号), 我々は、より多くの情報をここで見つけました https://velog.io/@jieun_han/백준-14501번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol