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.


3 2
1 2
2 3


hide comments
msd_007: 2017-08-27 16:59:31

what if test cases contain self loops ??
even if we run a dfs and check if(m==n-1&&all nodes are visited) ..we print yes bt actually it should be no ri8 ??
can anyone clarify dis ??

supriyanta: 2017-08-14 23:38:02

Run dfs only once. Then check whether all the vertices are visited and no of edges equals no of vertices minus one.

supriyanta: 2017-08-14 13:10:27

bfs or dfs or union find.But you have to consider the disconnected graphs also, which are not trees.

vishesh197: 2017-08-13 20:12:03

my code got accepted on codechef but was'nt accepted by spoj

sandeep_4141: 2017-08-08 06:42:07

AC in one GO !!
simple dfs

codie_905: 2017-07-22 08:11:38

I used DFS but getting NZEC error :|

karthik_vg: 2017-07-18 12:23:07

good use of DSU no need of DFS :P AC in first go

harva12: 2017-07-17 22:25:40

Last edit: 2017-07-17 23:28:16
imranjeetsingh: 2017-07-13 14:05:38

you just need to know what is a tree topology. Thereafter it is a cakewalk.

nikhil2504: 2017-07-10 09:50:21

Connected and |e|=|v|-1 !

Added by:Thanh-Vy Hua
Time limit:0.5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO
Resource:Co-author Amber