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
g_o_d:
20171022 10:24:57
It can also also be solved as follow:


vicky_1998:
20171019 13:02:25
Just Disjoint Set works quite well 

hemant1612:
20171003 17:53:33
cool problem 

msd_007:
20170827 16:59:31
what if test cases contain self loops ??


supriyanta:
20170814 23:38:02
Run dfs only once. Then check whether all the vertices are visited and no of edges equals no of vertices minus one. 

supriyanta:
20170814 13:10:27
bfs or dfs or union find.But you have to consider the disconnected graphs also, which are not trees. 

vishesh197:
20170813 20:12:03
my code got accepted on codechef but was'nt accepted by spoj


sandeep_4141:
20170808 06:42:07
AC in one GO !!


codie_905:
20170722 08:11:38
I used DFS but getting NZEC error : 

karthik_vg:
20170718 12:23:07
good use of DSU no need of DFS :P AC in first go 
Added by:  ThanhVy Hua 
Date:  20070328 
Time limit:  0.166s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO 
Resource:  Coauthor Amber 