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

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

hide comments
2019-01-20 11:59:39
AC in java. Simple DSU. Only create DSU if M=N-1, else you will get TLE.
2019-01-19 19:16:03 sunny
TLE on spoj. Same problem AC on codechef. On codechef time shown is 0.08s taken for AC. WTF!!
2019-01-19 18:38:14
beware graph is directed!!!!

Last edit: 2019-01-19 18:38:23
2019-01-14 15:48:32
GRAPH IS DIRECTED.
GOT WA 5 TIMES.
Try on Test Case
6 5
1 4
2 4
3 4
5 4
5 6
Ans- No

Last edit: 2019-01-19 05:51:24
2019-01-06 07:24:40
Check for two conditions:
1) n = e+1
2) The graph has only one connected component.

If condition 1 is false, then it isn't a tree. If condition 1 is true, then check for condition 2. If condition 2 is true, then the graph is a tree. Otherwise, the graph isn't a tree.

Simple AC in one go :D
2018-12-29 20:05:48
Easy Union Find Implementation.
2018-11-27 08:40:39
learned a lot....good question for beginners.
Need to know property of tree and DFS
2018-09-22 18:44:52
Simple Disjoint Set Union gets AC!
2018-09-19 12:54:03
can someone tell me what will be the start node.is it 1??
2018-09-12 00:58:36
Beware Adjacency Matrix will most likely TLE.
Use simple Adjacency List instead...

Costed me 3 TLE
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.