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
jayu_jd: 2017-07-06 17:29:26

Nice Question.!!
check for parent and unvisited nodes.

rakib77: 2017-06-24 01:21:57

Use Disjoint Set, Straightforward :D AC in One Go

quantic: 2017-06-20 14:43:40

cases are too weak.

cichipi_: 2017-06-12 11:59:38

if(m!=n-1 || n==1)cout<<"NO";

then run dfs....check cycle...if not YES else no


hazanko: 2017-06-06 08:56:27

I'm getting a null pointer error flagged at the line where I read the first input line with bufferedreader... Weird thing is that Codechef also offers this problem so I plugged it in there and got AC in one go. Anyone else having this issue?

syamphanindra: 2017-05-23 18:27:35

Take care to check all nodes are visited or not it gave me 3 WA so check it

Rajat Gautam: 2017-05-20 00:29:49

Used BFS once , if no. of edges is less than no. of vertex. And any one or more than one node remained unvisited after BFS then there is a cycle for sure because then there will be n-1 edges and n-1 vertex and 1 vertex separated.

bluelegend: 2017-05-18 09:38:34

same code accepted in C but TLE with C++(14) :p
execution time 0.00 sec

Last edit: 2017-05-18 09:42:29
piyushbharti: 2017-05-18 08:26:49

same question ac on codechef but wa on spoj ... can anyone explain why.. if code is needed... I will supply

stiffler22: 2017-05-05 09:40:39

weak testcases, my code gives NO for
3 2
2 1
3 1
but still got AC

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