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
madhavgaba: 2016-12-20 08:33:04

Use the fact that a tree has n-1 edges and DFS from one node visits all the nodes........green in first go;)

gyanchand: 2016-12-19 18:16:48

use adjacency list instead of adjacency matrix @reconnect as v*v>>e i.e. it will be sparse matrix.lead to waste of time on traversing.

praney_rai: 2016-12-19 08:39:33

did it using simple bfs!! first graph problem :] (out of the world feeling :D)

nikunjsoni: 2016-12-13 15:29:11

Check the condition of N = 1

dongntk54: 2016-12-11 10:37:33

.

Last edit: 2016-12-11 11:14:53
vengatesh15: 2016-12-10 14:08:03

Simple DFS

vishal_khanna: 2016-12-04 15:41:18

I'm getting WA for test 6. How do I know if my code is correct or not?

nimmumanoj: 2016-12-04 10:46:42

So easy. You don't have to use map. The nodes are numbered from 1 to N.

syed_tanveer: 2016-11-26 09:56:23

My 50th, did it using union-find.

reconnect: 2016-11-24 23:17:50

i am getting a TLE. I am using BFS . Can anybody please suggest the error. Is this because of the adjacency matrix?

Last edit: 2016-11-24 23:19:10

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