문제 설명

 

규칙을 찾는다면 정말 허무하게 쉬운 문제입니다. 결론부터 말씀드리자면 홀수일때는 SK, 짝수일 때는 CY를 출력하면 됩니다. 왜 그런지 한 번 살펴보겠습니다.

 

5개일 때, 순서로 가능한 것을 생각해 보겠습니다. 언제나 돌을 1개 또는 3개만 가져갈 수 있기 때문에, 다음과 같은 조합이 가능합니다.

1sk + 1cy + 1sk + 1cy + 1sk

3sk (= 1sk + 1cy + 1sk) + 1cy + 1sk

1sk + 3cy (= 1cy + 1sk + 1cy) + 1sk

1sk + 1cy + 3sk (= 1sk+ 1cy+ 1sk)

즉, 모든 순서는 1 + 1+ 1 + .... 했을 때의 조합과 동일하게 나타낼 수 있고, 순서 또한 똑같습니다.

 

 

코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
int main() {
    
    int n;
    cin >> n;
 
    if (n % 2cout << "SK\n";
    else cout << "CY\n";
 
    return 0;
}

 

 

제출 결과

 

 

 

문제 출처

 

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

 

9655번: 돌 게임

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

www.acmicpc.net

 

+ Recent posts