티스토리 뷰

알고리즘/BOJ

[BOJ 2579] 계단 오르기

히더 2018. 7. 23. 14:02

출처 : https://www.acmicpc.net/problem/2579


1. dp를 통해 차례로 구한다.


#include <iostream>

#include <algorithm>

using namespace std;


#define MAX_N 301


int i, N;

int a[MAX_N], dp[MAX_N], result;


void input()

{

cin >> N;

for (i = 1;i <= N;i++) cin >> a[i];

}


void cal()

{

dp[0] = 0; dp[1] = a[1]; dp[2] = a[1] + a[2];

for (i = 3;i <= N; i++)

dp[i] = max(a[i] + dp[i - 2], a[i] + a[i - 1] + dp[i - 3]);


result = dp[N];

}


int main()

{

input(); cal();

cout << result << endl;

}


'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ 2156] 포도주 시식  (0) 2018.07.23
[BOJ 1912] 연속합  (0) 2018.07.23
[BOJ 1107] 리모컨  (0) 2018.07.23
[BOJ 1389] 케빈 베이컨의 6단계 법칙  (0) 2018.07.21
[BOJ 14888] 연산자 끼워넣기  (0) 2018.07.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함