Help find the error in this dfs
Difference between en2 and en3, changed 0 character(s)
Hi,↵

I was working on this problem: https://codeforces.com/contest/771/problem/A↵

By adding a return in front of my recursive call in the function "dfs2," I was able to get AC on this problem. Can anyone please explain why?↵

Difference:↵

~~~~~↵
bool dfs2(int u)↵
{↵
if(vis[u])↵
return false;↵
vis[u] = 1;↵
if(adj[u].size() != cur_sz - 1)↵
return false;↵
for(int v : adj[u])↵
if(!vis[v])↵
dfs2(v);↵
return true;↵
}↵
~~~~~↵

as opposed to↵


~~~~~↵
bool dfs2(int u)↵
{↵
if(vis[u])↵
return false;↵
vis[u] = 1;↵
if(adj[u].size() != cur_sz - 1)↵
return false;↵
for(int v : adj[u])↵
if(!vis[v])↵
return dfs2(v);↵
return true;↵
}↵
~~~~~↵



WA submission: https://codeforces.com/contest/771/submission/69394496↵
AC submission: https://codeforces.com/contest/771/submission/69395025

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en3 English aa0809 2020-01-23 08:57:03 0 (published)
en2 English aa0809 2020-01-23 08:56:38 9 (saved to drafts)
en1 English aa0809 2020-01-23 08:55:46 842 Initial revision (published)