공부혜옹

백준 9661번 돌게임 7 본문

공부합시다/Algorithm

백준 9661번 돌게임 7

Blair06 2021. 5. 11. 20:32

돌 게임 7

시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 128 MB 1673 804 717 53.111%

문제

돌 게임은 두 명이서 즐기는 재밌는 게임이다.

탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 4x개 만큼 가져갈 수 있다. 즉, 가능한 개수는 1, 4, 16, 64, ...개 이다. 4x개만큼 돌을 가져갈 수 있는 방법이 없는 사람이 게임을 지게 된다.

두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000)

출력

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

1 2 3 4 5 6 7 8 9 10
상근 창영 상근 상근 창영 상근 창영 상근 상근 창영

풀이 방법을 모르겠어서 규칙을 찾기위해 무식하게 표를 길게 나열해보았는데 상근이 기준 승 패 승 승 패가 반복된다는것을 찾았다.  돌게임 6처럼 5로 나누었을때 나머지가 2 혹은 0일경우 창영이가 승리한다. 이것을 토대로 조건문을 작성한다.

#include <iostream>

using namespace std;


int main() {
    long long n;
    cin >> n;
    
    int temp = n%5;
    if(temp == 2 || temp == 0){
        cout << "CY";
    }else {
        cout << "SK";
    }
    
    return 0;
    
}
반응형

'공부합시다 > Algorithm' 카테고리의 다른 글

백준 2003번 수들의 합 2  (0) 2021.05.18
백준 1806번 부분합  (0) 2021.05.18
백준 9660번 돌게임 6  (0) 2021.05.11
백준 9659번 돌게임 5  (0) 2021.05.11
백준 9658번 돌게임 4  (0) 2021.05.11
Comments