https://www.acmicpc.net/problem/9659
시간 제한 | 메모리 제한 | solved.ac 티어 |
1초 | 128MB | 실버 2 |
문제
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000)
출력
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
문제만 보면 어려워보이지만, 이해만 하면 정말 쉬운 문제이다. 돌을 1개, 또는 3개 가져갈 수 있다는 뜻은, 어찌되었던 홀수개의 돌만 가져갈 수 있다는 뜻이다. 또한, 홀수를 홀수번 더하면 홀수, 홀수를 짝수번 더하면 짝수이다. 이는 입력받은 n이 홀수라면, 어떻게 진행하더라도 상근이가 이기고, 짝수라면 창영이가 이기는 것이다.
#include <bits/stdc++.h>
using namespace std;
int main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
long long n;
cin >> n;
if (n & 1) cout << "SK";
else cout << "CY";
}
'coding_test > BAEKJOON' 카테고리의 다른 글
백준 1080번 C++ 풀이 (0) | 2022.03.07 |
---|---|
백준 4949번 C++ 풀이 (0) | 2022.02.26 |
백준 1874번 C++ 풀이 (0) | 2022.02.13 |
백준 20364번 C++ 풀이 (0) | 2022.02.06 |
백준 5597번 C++ 풀이 (0) | 2022.02.06 |