공부혜옹

백준 9660번 돌게임 6 본문

공부합시다/Algorithm

백준 9660번 돌게임 6

Blair06 2021. 5. 11. 20:17

돌 게임 6 

시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 128 MB 2231 1135 1048 52.849%

문제

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

탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개, 3개 또는 4개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.

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

입력

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

출력

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


돌게임3의 타입만 바꿔주니 당연히 메모리 초과가 났다. 따라서 새로운 방법을 찾아보았다.

다음은 돌갯수별 우승자의 이름이다.

1 2 3 4 5 6 7
sk cy sk sk sk sk cy

표를 보았을때 돌의 총갯수를 7로 나눈 나머지가 2 혹은 0일때 창영이가 승리하는것을 알 수 있다. 이를 이용하여 조건문을 작성한다

#include <iostream>

using namespace std;

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

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

백준 1806번 부분합  (0) 2021.05.18
백준 9661번 돌게임 7  (0) 2021.05.11
백준 9659번 돌게임 5  (0) 2021.05.11
백준 9658번 돌게임 4  (0) 2021.05.11
백준 9657번 돌게임3  (0) 2021.05.11
Comments