길이 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 |