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

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

트리

면접 대비

시간 제한2초메모리 제한512 MB

요약
자기 자신을 잇는 간선과 중복 간선이 있을 수 있는 그래프가 주어질 때, 각 그래프가 트리인지 판별한다.
난이도

보통10점 중 4점

유형
그래프, 유니온 파인드, DFS
정답자
아직 제출이 없습니다

문제

트리는 다음 세 가지 성질을 만족하는 그래프다.

  1. 연결되어 있다. 어느 정점에서 출발하든 간선을 따라 다른 모든 정점에 도달한다.
  2. 간선을 하나 제거하면 연결이 끊어진다. 즉 더 이상 도달할 수 없는 정점이 생긴다.
  3. 이미 있는 두 정점 A와 B 사이에 간선을 하나 추가하면 사이클이 생긴다. A에서 B로 가는 방법이 두 가지 이상이면 사이클이 있는 것이다.

그래프가 주어지면 트리인지 판정한다.

입력

첫째 줄에 판정할 그래프의 개수 TT가 주어진다. TT는 10 이하다.

각 그래프는 다음 형식으로 주어진다.

첫째 줄에 정점의 개수 NN이 주어진다. 1≤N≤10001 \le N \le 1000이고, 정점 번호는 1부터 NN까지다.

다음 줄에 간선의 개수 MM이 주어진다. 0≤M≤1060 \le M \le 10^6이다.

이어지는 MM개 줄에는 간선이 잇는 두 정점 AA와 BB가 주어진다. AA와 BB는 같을 수 있고, 같은 쌍이 두 번 이상 나올 수 있다.

모든 그래프의 MM을 합한 값은 10610^6 이하다.

출력

각 그래프마다 한 줄에, 트리이면 tree를, 아니면 graph를 출력한다.

예제4

  1. 예제 1

    입력
    2
    4
    3
    2 1
    3 4
    1 3
    3
    3
    1 2
    1 2
    3 2
    
    예상 출력
    tree
    graph
    
  2. 예제 2

    입력
    2
    7
    5
    7 2
    2 4
    4 3
    5 6
    6 1
    7
    6
    7 2
    2 4
    4 3
    4 5
    6 5
    1 6
    
    예상 출력
    graph
    tree
    
  3. 예제 3

    입력
    1
    1
    0
    
    예상 출력
    tree
    
  4. 예제 4

    입력
    4
    1
    1
    1 1
    2
    0
    2
    1
    2 1
    2
    2
    1 2
    2 1
    
    예상 출력
    graph
    graph
    tree
    graph