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
hussein:
20141108 15:05:16
A simple loop with parents array is enough .. no need for DFS or BFS or any graph traversal algo 

Madhur Bhargava:
20141031 11:28:43
Learnt Union Find :) 

NiRaNjan_gOud:
20141021 14:20:31
how to solve without using dfs. 

Siddhant Garule:
20141020 07:48:54
tle with dfs, bfs works fine 

deerishi:
20141017 11:59:39
Union Find rocks!!


Ankur Singh:
20141004 11:57:50
simple bfs ^  ^ 

Ahmed TAILOULOUTE:
20140928 00:18:36
I used Union Find, it's really nice. 

arkro:
20140920 06:52:50
Got a lot of WA for writing "yes" and "no". Finally AC! :P 

Dhruv Raj Singh Rathore:
20140905 11:05:13
what if graph is disjoint and separately both of them form a tree


Brij Vaid:
20140824 20:32:36
how to solve without dfs?
