Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

I saw this code somewhere. Can someone please explain this code for cycle detection in directed graph ?

Правка en1, от that_wasnt_me, 2019-04-11 08:41:33
bool findLoop(int v) 
{
	if(vis[v]==1)
		return 1;
	if(vis[v]==2)
		return 0;
	vis[v]=1;
	for(auto &it:g[v])
	{
		if(findLoop(it))
			return 1;
	}
	vis[v]=2;
	return 0;
}

bool checkLoop()
{
	fill(vis+1, vis+n+1, 0);
	for(int i=1;i<=n;i++)
	{
		if(!vis[i] && findLoop(i))
			return 1;
	}
	return 0;
}

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en1 Английский that_wasnt_me 2019-04-11 08:41:33 450 Initial revision (published)