아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

(K, N)-나이트

시간 제한1초메모리 제한128 MB

요약
K와 N, 두 칸의 좌표가 주어질 때 K와 N칸을 어느 순서로든 뛰는 일반화된 나이트가 두 칸 사이를 오갈 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
수학, 정수론, 그래프, 구현
정답자
아직 제출이 없습니다

문제

무한히 큰 체스판 위에 두 칸 (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2)가 주어진다. (K,N)(K, N)-나이트가 (x1,y1)(x_1, y_1)에서 출발해 (x2,y2)(x_2, y_2)에 도달할 수 있는지 판별하는 프로그램을 작성하시오.

(K,N)(K, N)-나이트는 일반적인 나이트와 비슷하게 움직인다. 한 번의 이동으로 가로로 KK칸, 세로로 NN칸 떨어진 곳으로 가거나, 가로로 NN칸, 세로로 KK칸 떨어진 곳으로 갈 수 있다. 즉 현재 위치 (x,y)(x, y)에서 (x±K,y±N)(x \pm K, y \pm N) 또는 (x±N,y±K)(x \pm N, y \pm K) 중 한 곳으로 이동한다. 체스에서 쓰는 일반적인 나이트는 (2,1)(2, 1)-나이트, 또는 (1,2)(1, 2)-나이트로 볼 수 있다.

입력

첫째 줄에 테스트 케이스의 개수 TT (1≤T≤20,0001 \le T \le 20{,}000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 여섯 개의 정수 KK, NN, x1x_1, y1y_1, x2x_2, y2y_2가 공백으로 구분되어 주어진다. (0≤K,N≤1090 \le K, N \le 10^9, K+N>0K + N > 0, −109≤x1,y1,x2,y2≤109-10^9 \le x_1, y_1, x_2, y_2 \le 10^9)

출력

각 테스트 케이스마다 (K,N)(K, N)-나이트가 (x1,y1)(x_1, y_1)에서 (x2,y2)(x_2, y_2)로 이동할 수 있으면 TAK을, 이동할 수 없으면 NIE를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    3
    2 1 0 0 3 3
    1 1 1 1 1 2
    1 0 2 3 4 6
    
    예상 출력
    TAK
    NIE
    TAK