알고리즘

[Java] 백준 9656번 돌 게임 2

J3SUNG 2023. 2. 16. 22:49
728x90

https://j3sung.tistory.com/894

 

[Java] 백준 9655번 돌 게임

누가 돌을 마지막 돌을 가져가는지 구하는 문제입니다. 수학, DP, 게임이론으로 문제를 풀 수 있습니다. 저는 DP로 접근하여서 문제를 해결했습니다. DP[1] = 1 //상근승 DP[2] = 0 //창영승 DP[3] = 1 //상

j3sung.tistory.com

돌 게임 문제와 동일합니다.

마지막 돌을 가져가는 사람이 지는 것으로 바뀌었습니다.
출력 부분을 반대로 해서 그대로 제출해주었습니다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
	static int n;
	static int[] DP = new int[1001];
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		n = Integer.parseInt(br.readLine());
		DP[1] = 1;
		DP[2] = 0;
		DP[3] = 1;
		for(int i=4; i<1001; ++i) {
			if((DP[i-1] & DP[i-3]) == 1) {
				DP[i] = 0;
			} else {
				DP[i] = 1;
			}
		}
		
		bw.write(DP[n]==0?"SK":"CY");
		bw.close();
	}
}