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
Added by:  ThanhVy Hua 
Date:  20070328 
Time limit:  0.166s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel Pentium G860 3GHz) 
Languages:  All except: ERL JS 
Resource:  Coauthor Amber 
hide comments
Pavan Thangella:
20150414 02:33:19
No need of any graph algorithms. Maintain a visited array is enough. 

parmeet bhatia:
20150328 13:32:50
Do not assume connected graph (one connected component). I got one WA because of that. 

Harish Reddy Kolanu:
20150218 14:56:43
Try using union find algorithm


Rahul Jain:
20150125 01:19:39
@krishan kumar, the ans should also be NO 

Ankur Mohanty:
20150122 13:13:25
recommended for graph beginners 

Kishlay Raj:
20150111 19:09:03
easy stl set ;) Last edit: 20150111 19:09:17 

Nick Jiang:
20150108 10:07:07
Last edit: 20150108 23:26:48 

Anubhav Gupta:
20141228 19:30:24
simple DFS :) 