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
prithvi_3d2y:
20200206 16:14:54
SImple AC:


sangmai:
20200116 11:57:27
dfs with recursion gets TLE, use queue instead 

i_master:
20191230 23:00:07
Just think about it conceptually. What is a tree? A tree is a connected undirected acyclic graph.


karandeep09:
20191230 16:38:25
AC


r15habhgup11:
20191105 11:46:00
Can someone plzz tell me answer of this case and why


invincibel:
20190923 08:40:58
use unionfind much better for this problem 

mriow:
20190821 07:55:05
HINT:


ashishgh1997:
20190817 08:05:37
The tree may not be a binary tree. A node may have more than 3 childs 

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 
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 