[BAEKJOON] 백준 9655: 돌 게임 1 (C#)
2024. 6. 20. 20:50ㆍIT/BaekJoon
문제 링크
https://www.acmicpc.net/problem/9655
문제
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)
출력
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
통과한 답안
namespace _9655
{
internal class Program
{
static void Main(string[] args)
{
int N = int.Parse(Console.ReadLine());
Console.WriteLine(N % 2 == 0 ? "CY" : "SK");
}
}
}
두 명이서 번갈아서 돌을 가져가는데, 1개 혹은 3개를 가져갈 수 있다.
마지막에 돌을 가져가는 사람이 이기게 된다.
상근이가 먼저 시작하여 상근이가 이기면 SK, 창영이가 이기면 CY를 출력하는 문제이다.
이 문제의 경우에는 1개와 3개의 경우의 수로 복잡하게 생각될 수 있으나,
1과 3은 홀수로 상근이가 가져갈 수 있는 돌의 수는 홀수,
창영이가 가져갈 수 있는 돌의 수는 짝수로 고정된다.
따라서 N 값이 짝수인지 홀수인지 판단하여 승자를 알아낼 수 있다.
9656번의 문제는 위와 같은 문제이지만 마지막에 돌을 가져가는 사람이 지는 문제로
N % 2 != 0 으로 수정하면 해결할 수 있는 문제이다.
'IT > BaekJoon' 카테고리의 다른 글
[BAEKJOON] 백준 7489: 팩토리얼 (C#) (0) | 2024.06.21 |
---|---|
[BAEKJOON] 백준 9657: 돌 게임 3 (C#) (0) | 2024.06.20 |
[BAEKJOON] 백준 25592: 바둑돌 게임 (C#) (0) | 2024.06.20 |
[BAEKJOON] 백준 29732: Rick-Roll Virus (C#) (0) | 2024.06.20 |
[BAEKJOON] 백준 31823: 악질 검거 (C#) (0) | 2024.06.19 |