만드는 중입니다

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

표절 검사

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

요약
각 쌍의 두 트리에서 두 번째 트리를 늘려 첫 번째 트리를 만들 수 있는지 판단합니다.
난이도

보통10점 중 7점

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

문제

학생들에게 아름답고 무엇보다 독창적인 나무를 그리라는 숙제가 나왔다. 제출 후 교사는 일부 학생이 부정행위를 했을 것이라고 의심하기 시작했다. 교사는 트리 T1T_1이 트리 T2T_2로부터 베껴졌다는 것을, T2T_2에 정점과 간선을 (0개일 수도 있는) 몇 개 추가하고 정점 번호를 다시 붙여서 T1T_1과 같아질 수 있는 경우로 본다. 의심 쌍은 tt개이다. 각 쌍의 트리에 대해, 첫 번째 트리가 두 번째 트리로부터 베껴졌을 수 있는지 판단한다.

입력

첫 줄에 정수 tt (1≤t≤1041 \le t \le 10^4)가 주어진다. 의심 쌍의 개수이다. 이어서 tt개 쌍의 설명이 나온다. 각 설명의 첫 줄에는 정수 nn (2≤n≤1052 \le n \le 10^5)이 있다. 다음 n−1n-1개 줄에는 각각 정수 uu, vv (1≤u,v≤n1 \le u, v \le n)가 주어지며, 첫 번째 학생 트리의 간선이다. 다음 줄에는 정수 mm (2≤m≤n2 \le m \le n)이 있다. 다음 m−1m-1개 줄에는 각각 uu, vv (1≤u,v≤m1 \le u, v \le m)가 주어지며, 두 번째 학생 트리의 간선이다. 모든 쌍의 nn 합은 5⋅1055 \cdot 10^5을 넘지 않고, n⋅mn \cdot m의 합은 10710^7을 넘지 않는다고 보장된다.

출력

각 쌍에 대해 한 줄에 "Yes" 또는 "No"를 출력한다(대소문자 구분 없음). 첫 번째 트리가 두 번째 트리로부터 베껴졌을 수 있으면 "Yes", 아니면 "No"를 출력한다.

예제1

  1. 예제 1

    입력
    2
    5
    1 2
    1 5
    2 3
    2 4
    4
    1 2
    1 3
    1 4
    6
    1 2
    1 3
    1 4
    5 1
    6 1
    4
    1 2
    2 3
    3 4
    
    예상 출력
    Yes
    No