[JAVA][BOJ][S5] 9655. 돌 게임
728x90
 

9655번: 돌 게임

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

www.acmicpc.net

문제

돌 게임은 두 명이서 즐기는 재밌는 게임이다.

탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.

두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)

출력

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

풀이

돌을 1개 또는 3개 가져갈 수 있다는 말은 짝수 개가 홀수 개로, 홀수 개가 짝수 개로 변할 수 없다는 소리다 즉, 처음 개수가 어떻게 되든 처음 돌이 홀수 개였으면 마지막에 남는 돌도 홀수 개, 짝수 개였으면 마지막에 남는 돌도 짝수 개가 된다

이것을 공식화하면 처음 돌이 홀수 개일 때는 상근이가, 짝수 개일 때는 창영이가 게임을 이기게 된다

코드

package 문제풀이;

import java.io.*;
import java.util.*;

public class S5_9655_돌게임 {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int N = Integer.parseInt(br.readLine());

		if(N%2 == 1) System.out.println("SK");
		else System.out.println("CY");

	}

}

결과

 

#자바 #java #boj #백준 #알고리즘

728x90