dfs3 [백준 11266] C++ 단절점 DFS 문제https://www.acmicpc.net/problem/11266 풀이int dfs(int now, bool isRoot){ visited[now] = ++cnt; int ret = visited[now]; int child = 0; for (const int& next : graph[now]) { if (parent[now] == next) continue; if (visited[next]) { ret = min(ret, visited[next]); continue; } child++; parent[next] = now; int low = dfs(next, false); ret = min(ret, low); if (!isRoot && low >= visited[now]) .. 2025. 5. 7. C++ 그래프의 사이클 노드 찾기 사이클 노드 찾기https://k99812.tistory.com/147 [백준 11400] C++ 단절선 DFS문제https://www.acmicpc.net/problem/11400 풀이int dfs(int start){ visited[start] = ++cnt; int ret = visited[start]; for (const int& next : graph[start]) { if (parent[start] == next) continue; if (visited[next]) { ret = min(ret, visited[next]); continuek99812.tistory.com 위의 문제의 코드를 바탕으로 코드가 진행된다 vector visited, parent, inStack;int dfs(int .. 2025. 5. 7. [백준 11400] C++ 단절선 DFS 문제https://www.acmicpc.net/problem/11400 풀이int dfs(int start){ visited[start] = ++cnt; int ret = visited[start]; for (const int& next : graph[start]) { if (parent[start] == next) continue; if (visited[next]) { ret = min(ret, visited[next]); continue; } parent[next] = start; int low = dfs(next); ret = min(ret, low); if (low > visited[start]) { bridge.push_back({ min(start, next), .. 2025. 5. 7. 이전 1 다음