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
harva12:
20170717 22:25:40


imranjeetsingh:
20170713 14:05:38
you just need to know what is a tree topology. Thereafter it is a cakewalk.


nikhil2504:
20170710 09:50:21
Connected and e=v1 !


jayu_jd:
20170706 17:29:26
Nice Question.!!


rakib77:
20170624 01:21:57
Use Disjoint Set, Straightforward :D AC in One Go 

quantic:
20170620 14:43:40
cases are too weak.


cichipi_:
20170612 11:59:38
if(m!=n1  n==1)cout<<"NO";


hazanko:
20170606 08:56:27
I'm getting a null pointer error flagged at the line where I read the first input line with bufferedreader... Weird thing is that Codechef also offers this problem so I plugged it in there and got AC in one go. Anyone else having this issue? 

syamphanindra:
20170523 18:27:35
Take care to check all nodes are visited or not it gave me 3 WA so check it 

Rajat Gautam:
20170520 00:29:49
Used BFS once , if no. of edges is less than no. of vertex. And any one or more than one node remained unvisited after BFS then there is a cycle for sure because then there will be n1 edges and n1 vertex and 1 vertex separated. 
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 