만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

퍼즐 조각

시간 제한5초메모리 제한1024 MB

요약
두 조각을 회전하거나 뒤집어서 겹치지 않게 맞출 수 있는지 판단합니다.
난이도

보통10점 중 5점

유형
구현, 행렬, 완전 탐색
정답자
아직 제출이 없습니다

문제

Bajtek이 다섯 번째 생일에 퍼즐 상자 TT개를 받았다. 퍼즐은 조각이 두 개뿐인 아주 간단한 것이다. 상자에는 높이와 너비가 정해진 직사각형을 두 부분으로 잘라 조각을 만들었다고 적혀 있다. 자르는 선은 직사각형의 변과 평행하고, 항상 직각으로만 꺾인다. 아래 그림은 잘라 낸 예시다(잘라 낸 뒤 두 조각을 약간 떼어 놓았다).

Bajtek은 상자 속 두 조각이 맞지 않을 수도 있다고 의심하고 있다. 생산 과정의 결함으로 잘못 나온 상자일 수도 있다. 또 Bajtek이 부주의해서 조각을 뒤집었거나 90∘90^\circ의 배수만큼 회전시켰을 수도 있다.

Bajtek을 도와 각 상자의 두 조각이 맞는지 판정하는 프로그램을 작성하라.

조각은 X와 .으로 이루어진 표로 주어진다. X 칸이 조각이고 .은 빈칸이다. 예를 들어 아래 조각은 다음과 같이 나타낸다.

XXX.
XXXX
XX..

각 조각은 연결되어 있고(스스로 여러 조각으로 흩어지지 않는다), X를 하나 이상 포함하며, 가운데에 구멍이 없다고 가정해도 된다.

입력

첫 줄에 자연수 TT (1 ≤ T ≤ 25)가 주어진다. 이어서 각 상자의 두 조각이 차례로 주어진다. 조각마다 첫 줄에 자연수 NN과 MM (1 ≤ N, M ≤ 100)이 주어지며, NN은 높이, MM은 너비다. 그다음 NN줄에 걸쳐 각 줄마다 MM개의 . 또는 X 문자가 주어진다. 모든 상자의 조각 설명을 합친 크기는 200,000자를 넘지 않는다.

출력

정확히 TT줄을 출력한다. ii번째 줄에는 ii번째 상자의 두 조각이 맞으면 TAK, 맞지 않으면 NIE를 출력한다.

예제3

  1. 예제 1

    입력
    1
    3 4
    XXX.
    XXXX
    XX..
    3 4
    .XXX
    ..XX
    XXXX
    
    예상 출력
    TAK
    
  2. 예제 2

    입력
    3
    3 3
    ...
    XXX
    ...
    2 3
    XX.
    XX.
    4 4
    ....
    .X..
    .X..
    ....
    3 3
    XXX
    X..
    XXX
    3 2
    XX
    X.
    X.
    3 2
    XX
    .X
    .X
    
    예상 출력
    NIE
    TAK
    TAK
    
  3. 예제 3

    입력
    1
    2 2
    XX
    XX
    3 3
    XXX
    XXX
    XXX
    
    예상 출력
    NIE