PT07Y - Is it a tree
You are given an unweighted, undirected graph. Write a program to check if it's a tree topology.
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).
Print YES if the given graph is a tree, otherwise print NO.
Input: 3 2 1 2 2 3 Output: YES
|Added by:||Thanh-Vy Hua|
|Cluster:||Cube (Intel Pentium G860 3GHz)|
|Languages:||All except: ERL JS|
1st question of graph.. :)
Just one graph traversal, no need to apply union find!!!!
AC in 2nd go... union find algorithm is easy... just a few few line of code... :)
maintaining a proper visited array is enough to solve this problem
@Pavan Thangella: You got lucky! There is one instance in this problem so you had a 50% change of getting it right. There is no way around having to do a bfs/dps. You have to search in any case to check the connectivity of the graph. See "http://en.wikipedia.org/wiki/Connectivity_(graph_theory)#Computational_aspects" for more info.
my first bfs :)
No need of any graph algorithms. Maintain a visited array is enough.
Do not assume connected graph (one connected component). I got one WA because of that.
Harish Reddy Kolanu:
Try using union find algorithm