티스토리 뷰

알고리즘/BOJ

[BOJ 9465] 스티커

히더 2018. 7. 23. 14:07

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


1. dp를 통해 스티커 위->아래->오른쪽을 돌며 계산한다.


#include <iostream>

#include <algorithm>

using namespace std;


#define MAX_N 100002


int i, j, T, N;

int cost[2][MAX_N], dp[2][MAX_N], result;


void input()

{

cin >> N;

for (i = 0;i <= 1;i++)

{

for (j = 0;j <= N + 1;j++)

{

if (j >= 2) 

cin >> cost[i][j]; 

}else 

cost[i][j] = 0; 

}

dp[i][j] = 0;

}

}

}


void cal()

{

for (j = 2;j <= N + 1;j++)

{

dp[0][j] = max(dp[1][j-1], dp[1][j-2]) + cost[0][j];

dp[1][j] = max(dp[0][j-1], dp[0][j-2]) + cost[1][j];

}

result = max(dp[1][N+1], dp[0][N+1]);

}


int main()

{

cin >> T;

while (T--) 

{

input(); cal();

cout << result << endl;

}

}


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

[BOJ 11057] 오르막 수  (0) 2018.07.23
[BOJ 2193] 이친수  (0) 2018.07.23
[BOJ 2156] 포도주 시식  (0) 2018.07.23
[BOJ 1912] 연속합  (0) 2018.07.23
[BOJ 2579] 계단 오르기  (0) 2018.07.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함