Hej, mam pytanie.
Jest taka oto funkcja:
int dfs(int u)
{
visited[u]=1;
if(u==2) return 1;
for(int i=0; i<graf[u].size(); i++)
{
int v=graf[u][i];
if(visited[v]==0)
dfs(2);
}
}
Funkcja ta zwraca 0 zamiast oczekiwanej 1. Zauważyłem że jak wyrzuce pętle
int dfs(int u)
{
visited[u]=1;
if(u==2) return 1;
dfs(2);
}
To zwracana jest dobra wartość.
Czemu tak jest? I co zrobić żeby w I przypadku zwracało jedynke a nie 0?