본문 바로가기

알고리즘(백준 등) 공부

SWEA 14692. 통나무 자르기

길이 N의 통나무를 두명이서 길이 1 이상으로 자를 수 없을 때 더이상 자를 수 없을 때 까지 자를 때 자를 수 없게 된 사람이 지는 게임을 할 때 누가 이길 수 있는지 확인하는 문제이다.

 

길이 N의 통나무를 끝까지 자르는데 필요한 횟수는 N-1이므로 N-1을 2로 나누어 나머지가 0이면 첫번째 사람 차례에서 자를 수 없게되며 1이면 두번째 사람의 차례에서 자를 수 없게 된다. 첫번째 사람 이름은 Alice, 두번째 사람은 Bob이다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();

        for (int tc = 1; tc <= T; tc++) {
            sb.append('#').append(tc).append(' ');
            long n = Long.parseLong(br.readLine())-1;
            sb.append(n%2 == 0 ? "Bob" : "Alice").append('\n');
        }
        
        br.close();
        System.out.print(sb);
    }
}

'알고리즘(백준 등) 공부' 카테고리의 다른 글

SWEA 14555. 공과 잡초  (0) 2026.05.11
SWEA 14557. 카드 제거  (0) 2026.05.10
SWEA 15230. 알파벳 공부  (0) 2026.05.09
SWEA 15612. 체스판 위의 룩 배치  (0) 2026.05.08
SWEA 15758. 무한 문자열  (0) 2026.05.07