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
rohit9934:
20170213 17:15:02
4 hours in front of PC,2 hours of testing,1 hour of No and then Green Tick <3 . 

programminator:
20170213 09:08:47
beautiful solution using unionfind 

cipher_097:
20170212 13:57:13
Weak test cases. Admin, please check the test cases once again. Last edit: 20170212 13:57:37 

cake_is_a_lie:
20170210 17:45:00
IMO it's easier to code using unionfind than BFS/DFS, since you don't even need to keep the edges in memory. 

soodan:
20161223 07:28:04
Spoilers:


madhavgaba:
20161220 08:33:04
Use the fact that a tree has n1 edges and DFS from one node visits all the nodes........green in first go;) 

gyanchand:
20161219 18:16:48
use adjacency list instead of adjacency matrix @reconnect as v*v>>e i.e. it will be sparse matrix.lead to waste of time on traversing.


praney_rai:
20161219 08:39:33
did it using simple bfs!! first graph problem :] (out of the world feeling :D) 

nikunjsoni:
20161213 15:29:11
Check the condition of N = 1 

dongntk54:
20161211 10:37:33
. Last edit: 20161211 11:14:53 
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 