"1106 dfs"의 두 판 사이의 차이

ph
이동: 둘러보기, 검색
(새 문서: dfs알고리즘은 처음 보는데 참 보면 볼수록 오묘하고 이해가 안간다. 정말 오묘하고 신기하다. <pre> bool dfs(int a) { if (visited[a]) return false;...)
 
잔글
 
1번째 줄: 1번째 줄:
dfs알고리즘은 처음 보는데 참 보면 볼수록 오묘하고 이해가 안간다. 정말 오묘하고 신기하다.
+
(bipartite graph에서) dfs는 처음 보는데 참 보면 볼수록 오묘하고 이해가 안간다. 정말 오묘하고 신기하다.
  
 
<pre>
 
<pre>

2017년 11월 6일 (월) 01:00 기준 최신판

(bipartite graph에서) dfs는 처음 보는데 참 보면 볼수록 오묘하고 이해가 안간다. 정말 오묘하고 신기하다.

bool dfs(int a)
{
	if (visited[a])
		return false;

	visited[a] = true;

	for (int b = 0; b < m; b++)
	{
		if (adj[a][b])
		{
			if (bMatch[b] == -1 || dfs(bMatch[b]))
			{
				aMatch[a] = b;
				bMatch[b] = a;

				return true;
			}
		}
	}

	return false;
}