거북이 대결

월간 향유회 2025. 10. B번 BOJ 34663번
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB83252152.500%

문제

$2 \times N$ 크기의 격자가 있다. 격자의 각 칸은 장애물이 있거나 비어 있다. 카오린터틀이 격자 위에서 다음 규칙에 따라 게임을 한다.

  1. 시작할 때 빈칸 중 하나를 골라 말을 배치한다.
  2. 카오린부터 번갈아 가며 다음과 같은 움직임을 한다.
    • 상하좌우 중 한 방향을 골라 말을 그 방향으로 원하는 만큼 이동시킨다. 단, 장애물이 있는 칸 또는 이전에 한 번이라도 말이 지나간 칸(말이 멈춘 칸 포함)을 지나갈 순 없다.
  3. 더이상 움직일 수 없는 쪽이 지게된다.

이제 다음 쿼리를 처리해 보자.

  • $1$ $y$ $x$: 격자의 $y$행 $x$열의 상태를 반전시킨다. 즉, 장애물이 있는 칸이라면 빈칸으로 만들고 빈칸이라면 장애물이 있는 칸으로 만든다.
  • $2$ $y$ $x$: 격자의 $y$행 $x$열에서 말을 배치해 게임을 시작할 때 어느 쪽이 이길지 출력한다. 이 때 둘 모두 이기기 위한 최선의 전략을 사용한다고 가정한다.

입력

첫째 줄에 격자의 크기를 나타내는 정수 $N$과 쿼리의 개수를 나타내는 정수 $Q$가 공백으로 구분되어 주어진다. $(1\leq N,Q \leq 300\ 000)$

둘째 줄부터 $2$개의 줄에 걸쳐 길이가 $N$인 문자열이 한 줄에 하나씩 주어진다. 문자열은 . 또는 #로만 이뤄져 있으며 $i$번째 줄 $j$번째 문자가 .인 경우 $i$행 $j$열에 있는 칸이 비어 있음을, #이라면 장애물이 있음을 나타낸다.

넷째 줄부터 $Q$개의 줄에 걸쳐 $op$ $y$ $x$의 형식으로 쿼리가 주어진다. $(op\in \{1,2\}; 1\leq y \leq 2; 1 \leq x \leq N)$

$2$번 쿼리는 하나 이상 주어지며, $2$번 쿼리가 주어졌을 때 격자의 $y$행 $x$열은 항상 빈칸임이 보장된다.

출력

$2$번 쿼리가 주어질 때마다 카오린이 이긴다면 Kaorin, 터틀이 이긴다면 Turtle을 출력한다.

예제 입력 1

4 12
....
.##.
2 1 1
2 1 2
2 1 3
2 1 4
2 2 1
2 2 4
1 1 3
2 1 1
2 1 2
2 1 4
2 2 1
2 2 4

예제 출력 1

Kaorin
Kaorin
Kaorin
Kaorin
Turtle
Turtle
Kaorin
Turtle
Kaorin
Turtle
Kaorin

출처

Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2025. 10. B번

  • 문제를 만든 사람: pyb1031
  • 문제를 검수한 사람: chogahui05, kaorin, utilforever