PT07Y - Is it a tree


You are given an unweighted, undirected graph. Write a program to check if it's a tree topology.

Input

The first line of the input file contains two integers N and M --- number of nodes and number of edges in the graph (0 < N <= 10000, 0 <= M <= 20000). Next M lines contain M edges of that graph --- Each line contains a pair (u, v) means there is an edge between node u and node v (1 <= u, v <= N).

Output

Print YES if the given graph is a tree, otherwise print NO.

Example

Input:
3 2
1 2
2 3

Output:
YES

hide comments
lefthander: 2018-04-01 05:38:46

AC in one go ! Only DFS 0.00sec

sanjeev: 2018-03-28 18:34:38

solve it with dsu algorithm, you will get to know few things.

ameyanator: 2018-03-19 06:57:59

Solved using BFS. Conditions to keep in mind are that n==m-1 for a tree. And whenever this holds true all the nodes must be connected so simply bfs :)

naduhrin78: 2018-02-04 05:35:59

DSU yolo

himansh242: 2018-02-01 15:35:12

0.01 ac!! :)

coding_panda: 2018-01-29 02:54:21

Killed in one go ! Disjoint Set all the way !

bradyawn: 2018-01-23 20:06:24

SPOILER:

dsu is much easier then dfs smh

maruf_robin: 2018-01-20 18:53:07

Keep in mind a tree must have n-1 edges & all the node will be connected.

anurag_05: 2018-01-15 14:30:56

AC in one go... just check for cycles and whether each and every vertex is visited during DFS

aishu7: 2017-12-27 20:43:22

Adjacency list and dfs would work


Added by:Thanh-Vy Hua
Date:2007-03-28
Time limit:0.5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO
Resource:Co-author Amber