728x90 DFS37 [python] 백준 11400 단절선 https://www.acmicpc.net/problem/11400 문제 해결사이클이 만들어지는 선들은 하나가 끊긴다고 안이어지지 않는다.사이클이 안만들어지는 연걸선이 단절선이 된다.따라서 그에 관한 DFS 알고리즘을 사용하면 된다.CODEimport sysinput = sys.stdin.readlinesys.setrecursionlimit(10**5)def dfs(start ,parent): global cnt cnt += 1 visited[start] = True visit_order[start] = cnt lsv = visit_order[start] for childNode in graph[start]: if childNode == parent:conti.. 2024. 7. 7. [python] 백준 11266 단절점 https://www.acmicpc.net/problem/11266 문제 해결단절점이란?정점을 제거했을 때 그래프가 두 개 이상으로 나누어지는 정점, 즉 없으면 두개의 그래프로 나누어진다고 생각단순 사이클을 이루는 점이거나 직선 그래프를 잇는 점이 아닌 여러 노드들을 잇는 교차로 점들을 단절점이라 생각하면 된다.풀이는 이해가 쉽지만 바로 풀기는 쉽지 않은 문제... CODEimport sysinput = sys.stdin.readlinesys.setrecursionlimit(10**5)def dfs(node, is_root): visit_order[0] += 1 # visit 번호 visit_order[node] = visit_order[0] child_cnt = 0 # 최소 진입순.. 2024. 7. 6. [python] 20188 등산 마니아 https://www.acmicpc.net/problem/20188 문제 해결트리와 DFS를 사용해야한다는 것은 쉽게 알 수 있지만 어떻게 활용할지 매우 어려운 문제https://youtu.be/AQzKDzQqIRE다음 동영상을 봐도 어렵다... CODEimport sysinput = sys.stdin.readlinefrom collections import deque, defaultdictsys.setrecursionlimit(10**8)def dfs(cur, parent): global ans for child in graph[cur]: if child != parent: dfs(child, cur) dp[cur] += dp[ch.. 2024. 5. 22. [python] 백준 16724 피리 부는 사나이 https://www.acmicpc.net/problem/16724 16724번: 피리 부는 사나이 첫 번째 줄에 지도의 행의 수를 나타내는 N(1 ≤ N ≤ 1,000)과 지도의 열의 수를 나타내는 M(1 ≤ M ≤ 1,000)이 주어진다. 두 번째 줄부터 N개의 줄에 지도의 정보를 나타내는 길이가 M인 문자열이 주 www.acmicpc.net 문제 해결 safe존을 어떻게 해야 최소로 만들 수 있는지 생각을 해봐야한다. 우선 순환하는 사이클이 있으면 하나를 무조건 만들어야한다는 생각을 가져야한다. 하지만 만약 다른 그룹으로 연결이 될 수 있는 경우도 있다. 예로들면 D L L R D Y U R U 다음과 같은 경우 사이클이 존재하면서 가장 왼쪽 아래있는 'U'는 사이클에 연결이 되므로 safe존은 하.. 2024. 3. 8. 이전 1 2 3 4 ··· 10 다음 728x90