loj#P2637. 「BalticOI 2011 Day2」树的镜像 Tree Mirroring

「BalticOI 2011 Day2」树的镜像 Tree Mirroring

题目描述

TT 是一棵有根树,SSTT 的副本。我们将这两棵树相对应的叶子结点一一合并,就变成了一个树镜像图。如果你无法理解,请参见下图。

mirroring.png

给出一个由 NN 个结点 MM 条边组成的无向图 GG,结点依次编号为 1N1\ldots N
试求 GG 是不是树镜像图,如果它是树镜像图,请输出 YES\texttt{YES},否则输出 NO\texttt{NO}

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

输入格式

第一行有两个整数 NNMM
在接下来的 MM 行中,每行有两个整数 xxy(1x,yN,xy)y\:(1≤ x, y≤ N, x≠y),表示一条边。

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 ≤ x,y ≤ N), describing one edge. There will be at most one edge between any pair of vertices.

输出格式

输出仅一行,仅包含一个字符串 YES\texttt{YES}NO\texttt{NO},表示 GG 是不是树镜像图。

The first and only line of output should contain the string YES\texttt{YES} if the graph GG is a tree-mirrored graph, and NO\texttt{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 ≤ N,M ≤ 300
对于 60%60\% 的数据,3N,M35003 ≤ N,M ≤ 3500
对于所有数据,3N,M1053 ≤ N,M ≤ 10^5