전체 방문자
오늘
어제
모달조아
Better than yesterday
모달조아
  • 분류 전체보기 (147)
    • PS (86)
      • BOJ (79)
      • 프로그래머스 (6)
    • 이론 (41)
      • 자료구조 (2)
      • 알고리즘 (8)
      • 데이터베이스 (1)
      • 운영체제 (1)
      • 네트워크 (3)
      • 디자인패턴 (7)
      • Java (13)
      • Spring (4)
      • JPA (1)
      • Git (1)
    • 개발 (18)
    • 프로젝트 (1)
    • 기록 (0)
      • 후기 (0)
    • etc (1)

최근 글

티스토리

hELLO · Designed By 정상우.
모달조아

Better than yesterday

BOJ 9465 스티커
PS/BOJ

BOJ 9465 스티커

2021. 7. 1. 23:16

boj 9465 스티커

위 그림과 같이, 문제의 조건에 따라 변을 공유하는 스티커는 뗄 수 없고, 대각으로만 이동하며 뗄 수 있다. 이 때, 대각으로 이동할 수 있는 경우는 아래 그림과 2가지가 있다. 3칸부터는 이동하면 중간에 거쳐갈 수 있는 칸이 무조건 있으므로 가장 높은 점수를 구하는 문제 조건에 어긋나므로 제외한다.

맨 위 그림을 보면, 스티커를 떼는 경로는 마지막에 떼지는 스티커가 첫번째 줄이냐 두번째 줄이냐로 나눠진다. 테이블 D[i][j]는 j번째 줄의 i번째 칸까지 스티커 점수의 최댓값으로 정의하고, score는 스티커의 점수를 담는 배열이다. 그러면 위의 내용을 점화식으로 정의해보자.

D[i][0] = max(D[i-1][1], D[i-2][1]) + score[i][0]
D[i][1] = max(D[i-1][0], D[i-2][0]) + score[i][1]

대각으로 이동할 때, 1칸 혹은 2칸 이동할 수 있으므로 그 두 경우를 비교해준 것이다. 이를 바탕으로 코드를 구현한다.

#include <iostream>
#include <algorithm>
using namespace std;

int t;
int n;
int D[100005][5];
int score[100005][5];

int main(void)
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    cin >> t;
    for (int i = 0; i < t; i++)
    {
        cin >> n;
        for (int j = 0; j < 2; j++)
        {
            for (int k = 1; k <= n; k++)
            {
                cin >> score[k][j];
            }
        }

        D[1][0] = score[1][0];
        D[1][1] = score[1][1];

        for (int m = 2; m <= n; m++)
        {
            D[m][0] = max(D[m - 1][1], D[m - 2][1]) + score[m][0];
            D[m][1] = max(D[m - 1][0], D[m - 2][0]) + score[m][1];
        }

        cout << max(D[n][0], D[n][1]) << '\n';
    }
}
저작자표시 (새창열림)

'PS > BOJ' 카테고리의 다른 글

BOJ 7576 토마토  (0) 2021.07.01
BOJ 2156 포도주 시식  (0) 2021.07.01
BOJ 2193 이친수  (0) 2021.06.29
BOJ 11057 오르막 수  (0) 2021.06.29
BOJ 10844 쉬운 계단 수  (0) 2021.06.29
    'PS/BOJ' 카테고리의 다른 글
    • BOJ 7576 토마토
    • BOJ 2156 포도주 시식
    • BOJ 2193 이친수
    • BOJ 11057 오르막 수
    모달조아
    모달조아

    티스토리툴바