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

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

밀크 멀티드링크

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

요약
트리에서 1번에서 n번까지 이동하며 연속한 두 정점의 거리가 2 이하인 해밀턴 경로가 존재하는지 판정한다.
난이도

어려움10점 중 9점

유형
트리, DFS, 그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

바이트버그는 교차로마다 밀크바가 하나씩 있는 도시다. 어느 날 바이타사르는 도시의 밀크바를 모두 정확히 한 번씩 들르는 밀크 멀티드링크를 떠올렸다. 한 잔을 마신 뒤 다음 밀크바까지 멀리 걷고 싶지는 않으므로, 다음에 들를 밀크바는 지금 서 있는 교차로에서 두 블록 이내여야 한다. 두 교차로 사이의 거리는 둘을 잇는 최단 경로에 놓인 길의 개수다.

교차로에는 11번부터 nn번까지 번호가 붙어 있고 길은 모두 양방향이다. 어떤 두 교차로 사이에도 같은 교차로를 두 번 지나지 않는 경로가 정확히 하나 있다. 바이타사르는 11번 교차로에서 출발해 nn번 교차로에서 마친다.

조건을 만족하는 방문 순서가 존재하는지 판정하라.

위 그림의 도시에서는 1, 11, 8, 7, 5, 9, 2, 10, 4, 6, 3, 12 순서로 들르면 조건을 만족한다.

위 그림의 도시에는 조건을 만족하는 순서가 없다.

입력

첫 줄에 교차로의 개수 nn이 주어진다. (2≤n≤5000002 \le n \le 500000)

다음 n−1n-1개 줄에는 서로 다른 두 정수 aia_i와 bib_i가 공백 하나를 사이에 두고 주어진다. (1≤ai,bi≤n1 \le a_i, b_i \le n) aia_i번 교차로와 bib_i번 교차로를 잇는 길이 있다는 뜻이다.

출력

조건을 만족하는 방문 순서가 하나라도 있으면 첫 줄에 TAK을, 하나도 없으면 BRAK을 출력한다. 폴란드어로 TAK은 그렇다는 뜻이고 BRAK은 없다는 뜻이다.

예제2

  1. 예제 1

    입력
    12
    1 7
    7 8
    7 11
    7 2
    2 4
    4 10
    2 5
    5 9
    2 6
    3 6
    3 12
    
    예상 출력
    TAK
    
  2. 예제 2

    입력
    15
    1 14
    14 7
    7 8
    7 11
    7 2
    2 4
    4 10
    2 5
    5 9
    2 6
    3 6
    3 15
    11 12
    8 13
    
    예상 출력
    BRAK