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
frpartho: 2018-07-28 22:34:31

simple dfs. increment a counter on dfs function. if counter > node*node then there is a cycle.

rohitnarayan: 2018-06-24 23:04:46

Simple DFS!!

mayank1208_: 2018-06-21 23:03:31

got two WA due..to yes instead of YES....finally AC

michaelscof: 2018-06-21 10:52:34

DSU all the way!

vritta: 2018-06-18 09:33:28

did bfs but used only simple arrays, comments helped a lot.

Last edit: 2018-06-18 09:34:35
Daniel Bezerra Galvão Mitre: 2018-06-11 22:16:04

WA some times for testcase 0 0

atikahamedutso: 2018-06-09 20:03:04

accepted with tarjan's algorithm

selva1996: 2018-06-08 10:00:24

No need DFS or DSU just a visited array works....

anushka_ahuja: 2018-06-05 13:32:30

Use #DSU AC in one go!!!!

code0monkey1: 2018-04-06 17:31:22

DSU makes this super easy . #beware ( tot edges = tot nodes -1 , in a valid tree )


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