https://www.acmicpc.net/problem/9656
9656번: 돌 게임 2
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
www.acmicpc.net
dp로 문제 해결
true : SK 승리
false : CY 승리
현재 1개 가져가거나 3개 가져갔을 때 둘 다 이긴다면 이긴다. 라도 판단하였습니다.
그래서 dp[i-1]과 dp[i-3] 둘 다 false라면dp[i]를 true로 하였습니다.
package BOJ;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.function.Function;
public class BOJ_9656 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st= new StringTokenizer(br.readLine()," ");
Function<String,Integer> stoi = Integer::parseInt;
int n = stoi.apply(st.nextToken());
boolean [] dp = new boolean[n+5];
dp[1] = false;
dp[2] = true;
dp[3] = false;
for(int i = 4; i <= n ; i++){
if(!dp[i-1] && !dp[i-3]){
dp[i] = true;
}else{
dp[i] = false;
}
}
if(dp[n]){
System.out.println("SK");
}else{
System.out.println("CY");
}
}
}
'알고리즘' 카테고리의 다른 글
백준 15900번 나무 탈출 (JAVA) (0) | 2021.11.29 |
---|---|
백준 1058번 친구 (JAVA) (0) | 2021.11.28 |
백준 1194번 달이 차오른다, 가자. (JAVA) (0) | 2021.11.26 |
백준 1300번 K번째 수 (0) | 2021.11.25 |
백준 12852번 1로 만들기 2 (JAVA) (0) | 2021.11.24 |