#P4672. [BalticOI 2011] Tree Mirroring (Day2)

[BalticOI 2011] Tree Mirroring (Day2)

题目描述

Let TT be a rooted tree (a connected undirected acylic graph), and let SS be a perfect copy of TT. Construct a new graph by taking the union of TT and SS, and merging the corresponding leaf nodes (but never the root). We call such a graph a tree-mirrored graph.

输入格式

The first line of input contains two integers NN and MM, the number of vertices and edges of a graph GG. The vertices in GG are labeled from 11 to NN. The following MM lines describe the edges. Each such line contains two integers xx and y(xy;1x,yN)y(x≠y;1 \le x,y \le N), describing one edge. There will be at most one edge between any pair of vertices.

输出格式

The first and only line of output should contain the string YES if the graph GG is a tree-mirrored graph, and NO otherwise.

7 7
1 2
2 3
3 4
4 5
5 6
6 7
7 1
NO
6 6
1 2
2 3
2 4
3 5
4 5
5 6
YES
22 28
13 8
8 1
1 22
1 12
1 14
13 18
13 4
4 20
20 7
13 15
15 3
15 9
9 16
9 19
22 5
12 5
14 5
5 11
11 6
18 6
7 10
10 17
17 6
3 21
21 6
16 2
19 2
2 21
YES

提示

对于 30%30\% 的数据,3N,M3003 \le N,M \le 300

对于 60%60\% 的数据,3N,M35003 \le N,M \le 3500

对于所有数据,3N,M1053 \le N,M \le 10^5