티스토리 뷰
https://www.acmicpc.net/problem/14501
현재 날짜의 상담을 하는 경우와 안하는 경우로 나누어서 재귀로 모든 경우를 살펴본다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <cstdio> #include <algorithm> using namespace std; int n,t[15],p[15],ans; void go(int now,int sum) { if(now+1<=n) go(now+1,sum); else { ans=max(ans,sum); return; } if(now+t[now]<=n) go(now+t[now],sum+p[now]); else { ans=max(ans,sum); return; } } int main() { scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d %d",&t[i],&p[i]); go(0,0); printf("%d",ans); return 0; } | cs |
'Algorithm > BOJ' 카테고리의 다른 글
14503 로봇 청소기 (0) | 2018.04.09 |
---|---|
14502 연구소 (0) | 2018.04.09 |
14499 주사위 굴리기 (0) | 2018.04.06 |
13458 시험 감독 (0) | 2018.04.06 |
12100 2048 (Easy) (0) | 2018.04.06 |