알고리즘/문제 풀이

9655번: 돌 게임

Themion 2021. 12. 29. 10:27

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

 

9655번: 돌 게임

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

www.acmicpc.net

처음에 상근이가 돌을 하나 가져간 경우 창영이는 돌 셋을, 상근이가 셋을 가져간 경우 창영이는 하나를 가져가므로 상근이와 창영이가 가져가는 돌의 개수의 합은 4이다. 따라서 N은 N % 4로 간소화될 수 있다.

  • N이 0일 경우 창영이가 직전에 돌을 가져간 것이므로 창영이의 승리이다.
  • N이 1일 경우 상근이가 돌을 하나 가져갈 수 있으므로 상근이의 승리이다.
  • N이 2일 경우 상근이는 돌을 무조건 하나만 가져갈 수 있으므로, 남은 돌 하나를 창영이가 가져가 창영이가 승리하게 된다.
  • N이 3일 경우 상근이가 돌을 셋 가져갈 수 있으므로 상근이의 승리이다.

따라서 N이 홀수일 경우 상근이의, 짝수일 경우 창영이의 승리이다.

#include <cstdio>

int main() {
    int N;
    scanf("%d", &N);
    // 조건에 맞게 정답을 출력
    printf("%s\n", N % 2 ? "SK" : "CY");
    return 0;
}

'알고리즘 > 문제 풀이' 카테고리의 다른 글

9935번: 문자열 폭발  (0) 2021.12.29
9663번: N-Queen  (0) 2021.12.29
9498번: 시험 성적  (0) 2021.12.28
9465번: 스티커  (0) 2021.12.28
9461번: 파도반 수열  (0) 2021.12.28