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
veerendrasd_9:
20190720 19:35:16
AC only if one considers it as directed Graph.


an09mous:
20190703 13:47:50
For a graph to be a tree, there must be no cycles and not any isolated vertices. So number of edges will always be n1. If edges are exactly equal to n1, then we just have to check if there is a cycle or not. Last edit: 20190703 13:48:05 

gyanendra371:
20190622 15:19:05
check for cycle and if not found then check all nodes are visited . 

itsmysyntax:
20190606 20:10:39
@itsshubham_m12 clearly its given in question that its undirected graph 

nishit5:
20190529 11:33:31
use dfs....ac in one go


klmo:
20190424 10:37:57
To check if connected better use optimized DSU than DFS. 

itsshubham_m12:
20190422 17:12:34
Is the graph directed or not??


ll14:
20190315 00:05:27
If you're using Java and has the TLE, please never use Scanner instead of BufferReader 

mynk322:
20190313 10:10:24
Tree is undirected!


haiderbaig:
20190306 10:24:51
Very good introduction to DFS.

Added by:  ThanhVy Hua 
Date:  20070328 
Time limit:  0.5s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO 
Resource:  Coauthor Amber 