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 SCM chicken 
Resource:  Coauthor Amber 
hide comments
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 :) 

agaurav77:
20141209 18:51:22
A basic implementation of union find algorithm works, so agreed, hussein. AC! 

Shivam Mitra:
20141204 12:59:44
BFS using adjacency matrix: 0.16s,385M


hussein:
20141108 15:05:16
A simple loop with parents array is enough .. no need for DFS or BFS or any graph traversal algo 