백준 14501번 퇴사 (삼성 SW 역량테스트 기출문제)
사용한 알고리즘: 브루스 포스, DP
삼성 SW 역량테스트 기출문제 중 제가 정말 예전에 풀었던 문제가 있어서 코드만 올려보겠습니다.
모든 지점을 다 보면서 dp 형식으로 저장해 나갔네요...
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <cstdio> | |
#include <algorithm> | |
using namespace std; | |
int N, A[20], B[20], dp[20]; | |
int main(){ | |
scanf("%d", &N); | |
for (int i = 1; i <= N; ++i) | |
scanf("%d %d", &A[i], &B[i]); | |
for (int i = 1; i <= N; ++i){ | |
if(i+A[i]-1>N) | |
B[i] = 0; | |
for (int j = 1; j <= N; ++j){ | |
if(j+A[j]-1<=i) | |
dp[i] = max(dp[i], B[j] + dp[j-1]); | |
} | |
} | |
printf("%d\n", dp[N]); | |
return 0; | |
} |
댓글
댓글 쓰기
긴 글 읽어주셔서 감사합니다.
궁금한게 있으시다면 댓글 달아주세요!