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
michaelscof:
20180621 10:52:34
DSU all the way! 

vritta:
20180618 09:33:28
did bfs but used only simple arrays, comments helped a lot. Last edit: 20180618 09:34:35 

Daniel Bezerra Galvão Mitre:
20180611 22:16:04
WA some times for testcase 0 0 

atikahamedutso:
20180609 20:03:04
accepted with tarjan's algorithm


selva1996:
20180608 10:00:24
No need DFS or DSU just a visited array works.... 

anushka_ahuja:
20180605 13:32:30
Use #DSU AC in one go!!!! 

code0monkey1:
20180406 17:31:22
DSU makes this super easy . #beware ( tot edges = tot nodes 1 , in a valid tree ) 

lefthander:
20180401 05:38:46
AC in one go ! Only DFS 0.00sec 

sanjeev:
20180328 18:34:38
solve it with dsu algorithm, you will get to know few things. 

ameyanator:
20180319 06:57:59
Solved using BFS. Conditions to keep in mind are that n==m1 for a tree. And whenever this holds true all the nodes must be connected so simply bfs :) 
Added by:  ThanhVy Hua 
Date:  20070328 
Time limit:  0.5s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO 
Resource:  Coauthor Amber 