[백준] 돌 게임
백준 온라인 저지의 9655번 회장뽑기 문제 입니다.
문제 출처
문제 해설
플레이어는 단 두면 상근이와 창영이만 있다. 둘은 단 두가지의 행동만 할 수 있는데, n개의 놓여있는 돌에서 1개를 가져오거나 3개를 가져올 수 있다. 마지막으로 돌을 가져온 사람이 승리한다.
그런데 여기서 중요한건 돌을 가져올 때 무조건 홀수개만 들고온다는 것과 상근이가 먼저 시작한다는 것이다. 그렇기 때문에 둘이 합쳐서 돌을 들고오는 회수를 센다고 가정해보자. 홀수 + 홀수 = 짝수, 홀수 + 짝수 = 홀수이다. 돌을 들고오는 회수가 홀수 일때는 상근이가 돌을 들고올 때 이므로, 상근이가 돌을 들고올 때는 무조건 들고온 돌의 개수가 홀수이다. 반대로 창영이가 들고올 때는 무조건 들고온 돌의 개수가 짝수이다.
이를 토대로 n의 개수가 홀수일 때, 짝수일 때를 나뉘어서 출력하면된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n; cin >> n;
cout << (n % 2 ? "SK" : "CY");
return 0;
}
This post is licensed under CC BY 4.0 by the author.