백준 알고리즘 9659번: 돌 게임 5

Zoo Da·2021년 5월 23일
0

백준 알고리즘

목록 보기
75/337
post-thumbnail

링크

https://www.acmicpc.net/problem/9659

문제

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

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

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

입력

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

출력

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

예제 입력 및 출력

풀이 코드

// 9659번 : 돌 게임 5
#include <stdio.h>

int main(){
  int n;
  scanf("%d",&n);
  if(n % 2 == 0){
    printf("CY\n");
  }
  else{
    printf("SK\n");
  }
  return 0;
}

풀이

  1. 상근(SK)이가 이길 때를 0 창영(CY)가 이길 때를 1로 놓고 풀었다.

  2. n = 1 -> 상근 승(상근이가 먼저 시작) 즉 0

  3. n = 2 -> 창영 승(1)

  4. n = 3 -> 상근 승(0)

  5. n = 4 -> 창영 승(1)...

이렇게 반복하다 보면 n이 짝수일 때만 상근(CY)가 이기고 n이 홀수일때는 창영(SK)가 이기는 것을 알 수 있다.

profile
메모장 겸 블로그

0개의 댓글