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
pk:
2015-05-23 08:29:50
AC in 2nd go... union find algorithm is easy... just a few few line of code... :)
|
|
Rakend Chauhan:
2015-05-22 15:54:41
maintaining a proper visited array is enough to solve this problem |
|
rpc1:
2015-05-19 22:37:29
@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. |
|
OneMoreError:
2015-05-11 14:06:24
my first bfs :) |
|
jasongog:
2015-04-15 17:03:05
I used:
|
|
Pavan Thangella:
2015-04-14 02:33:19
No need of any graph algorithms. Maintain a visited array is enough. |
|
parmeet bhatia:
2015-03-28 13:32:50
Do not assume connected graph (one connected component). I got one WA because of that. |
|
Harish Reddy Kolanu:
2015-02-18 14:56:43
Try using union find algorithm
|
|
Rahul Jain:
2015-01-25 01:19:39
@krishan kumar, the ans should also be NO |
|
Ankur Mohanty:
2015-01-22 13:13:25
recommended for graph beginners |
Added by: | Thanh-Vy Hua |
Date: | 2007-03-28 |
Time limit: | 0.5s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ERL JS-RHINO |
Resource: | Co-author Amber |