본문 바로가기

Algorithm/DP(Dynamic Programing)

(C++) - 백준(BOJ) 9657번 : 돌 게임 3 답

반응형

www.acmicpc.net/problem/9657

 

9657번: 돌 게임 3

상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.

www.acmicpc.net

간단한 dp문제였습니다.

 

 

풀이방법

돌을 1개 선택, 3개 선택, 4개 선택하는 경우 이 중 하나라도 질 수 있다면 상근 승, 아니라면 창영 승

 

Code

#include <iostream>
using namespace std;
int main() {
    int num, arr[1001] = { 0,1,0,1,1 };
    cin >> num;
    for (int i = 5; i <= 1000; i++)
    {
        if (arr[i - 1] + arr[i - 3] + arr[i - 4] < 3)
        {
            arr[i] = 1;
        }
        else
            arr[i] = 0;
    }
    if (arr[num] == 1)
        cout << "SK";
    else
        cout << "CY";
}