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

    ID: 5017 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>图结构图的遍历树结构树哈希DFS序列搜索DFSBFS图的对称性检测AHU算法

「BalticOI 2011 Day2」树的镜像 Tree Mirroring

题目描述

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

样例1图示

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

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.

输入格式

第一行有两个整数 NNMM
在接下来的 MM 行中,每行有两个整数 xxyy (1x,yN,xy)(1 \le x, y \le N, x \ne 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 yy (xyx \ne y; 1x,yN1 \le x,y \le N), describing one edge. There will be at most one edge between any pair of vertices.

输出格式

输出仅一行,仅包含一个字符串 YESNO,表示 GG 是不是树镜像图。
输出仅一行,如果图 GG 是树镜像图则输出 YES,否则输出 NO

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


样例 1

输入

7 7
1 2
2 3
3 4
4 5
5 6
6 7
7 1

输出

NO

样例 2

输入

6 6
1 2
2 3
2 4
3 5
4 5
5 6

输出

YES

样例 3

输入

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