본문 바로가기

Baekjoon/C++

[C++][BOJ/백준] 9655 돌 게임

 

 

Baekjoon Online Judge

 

9655번: 돌 게임

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

www.acmicpc.net

 

 

[문제]

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

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

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

 

 

[입력]

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

 

 

[출력]

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

 

 


 

[풀이]

돌의 개수를 나타내는 N이 1~5일 때 이기는 사람을 정리해 보면

1, 3, 5일 때 상근이가 이기고 2, 4일 때 창용이가 이긴다는 점을 알 수 있다.

따라서 N이 홀수면 상근이가 이기고 짝수면 창용이가 이기는 것이므로

if문을 통해 N이 짝수인지 홀수인지 판단한 후, 결과에 따라 다르게 출력하면 된다.

 

 

[코드]

#include <iostream>
using namespace std;

int main()
{
    int N;

    cin >> N;

    if (N % 2 != 0)
        cout << "SK" << '\n';
    else
        cout << "CY" << '\n';

    return 0;
}