[백준/BOJ] 백준 9658번 : 돌 게임 4
2020. 9. 26. 06:00ㆍ알고리즘 문제풀이
지금 하는 사람이 -1,-3,-4 해서 하나라도 다음 상대가 지는 것이 있으면 지금 하는 사람은 승리한다
코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int cache[1001];
int Solve(int n)
{
//4이하의 값은 구해져 있다
if (n <= 4)
return cache[n];
for (int i = 5; i <= n; i++)
{
//-1,-3,-4 해서 하나라도 다음상대가 지는것이 있으면 지금하는 사람은 승리한다
cache[i] = (!cache[i - 1] || !cache[i - 3] || !cache[i - 4]);
}
return cache[n];
}
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int n;
cin >> n;
cache[1] = 0;//지금 하는 사람 패
cache[2] = 1;//지금 하는 사람 승
cache[3] = 0;//지금 하는 사람 패
cache[4] = 1;//지금 하는 사람 승
if (Solve(n) == 1)
cout << "SK";
else
cout << "CY";
return 0;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[백준/BOJ] 백준 2475번 : 검증수 (0) | 2020.10.04 |
---|---|
[백준/BOJ] 백준 11062번 : 카드 게임 (0) | 2020.09.26 |
[백준/BOJ] 백준 9655번 : 돌 게임 (0) | 2020.09.26 |
[백준/BOJ] 백준 2748번 : 피보나치 수 2 (0) | 2020.09.25 |
[백준/BOJ] 백준 16988번 : Baaaaaaaaaduk2 (Easy) (0) | 2020.09.25 |