Tri-Tree XOR
시간 제한2초메모리 제한1024 MB
정점 N개인 트리 A가 주어질 때, 두 간선 집합의 대칭차가 다시 트리가 되는 트리 B를 찾아 출력하거나 존재하지 않으면 NO를 출력한다.
문제
정점 번호가 인 개 정점으로 이루어진 그래프 , 가 있다고 할 때 두 그래프 사이 XOR 연산을 아래와 같이 수행한다.
- 정점 번호가 인 개 정점이 있고 간선이 없는 그래프 를 만든다.
- 인 모든 정수 , 쌍에 대해 정점 와 정점 를 잇는 간선이 그래프 와 그래프 중 정확히 하나에만 존재한다면 그래프 에서 정점 와 정점 를 간선으로 연결한다.
정점이 개인 트리 가 주어질 때 정점이 개인 적당한 트리 를 만들어서 와 의 XOR 연산 결과인 그래프 가 트리가 되는 가 존재하는지 확인하고, 존재한다면 가능한 트리 를 하나 구해보자.
입력
첫째 줄에 트리 의 정점의 수 이 주어진다. ()
둘째 줄부터 개 줄에 걸쳐 트리 에서 간선으로 연결된 두 정점의 번호가 공백을 기준으로 구분되어 주어진다.
출력
첫째 줄에 트리 와 XOR 연산한 결과가 트리가 되는 트리 가 존재한다면 YES, 존재하지 않는다면 NO를 출력한다.
가능한 트리 가 존재한다면 간선으로 연결된 두 정점의 번호를 공백을 기준으로 구분하여 둘째 줄부터 개 줄에 걸쳐 출력한다.