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
Vaibhav Malik: 2015-10-06 20:54:26

AC in one GO :)

jarvis: 2015-09-28 23:37:35

First graph :) first DFS :) love it <3 after 5 WA
AC

Sarthak Munshi: 2015-09-25 14:29:21

Check :
1) edges=nodes-1
2) graph is connected(kosaraju or simple dfs will do )

[Mayank Pratap]: 2015-09-22 14:16:28

Enjoyed this problem... :)

jyotman94: 2015-09-19 21:03:46

First Graph Problem :) AC

ram: 2015-09-02 08:35:16

Easy ques :)
My first graph problem.
AC in one go. :) :)

tonystark1996: 2015-08-31 15:32:46

Weak Test Cases
4 2
1 2
3 4
Answer is NO
But my code gives YES,still code accepted

coder_shishir: 2015-08-22 23:09:42

awesome problem ..learned a lot !!!

Vivek: 2015-08-18 10:56:19

if Using DFS, Don't use ADJ Matrix.It would result in O(v^2) time.
Go for DFS+ ADJList.
With Matrix,got TLE, With List Accepted.

SangKuan: 2015-08-12 05:24:18

first i used visited array and got many errors,then is use two hash, colored and merge the edge got ac.no need
dfs or bfs, but i think union find is the best way

Last edit: 2015-08-12 05:24:51

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
Resource:Co-author Amber