728x90
반응형

2024/03/30 4

[Baekjoon 11724 / python / 실버2] 연결 요소의 개수

import sys sys.setrecursionlimit(10 ** 9) # 재귀함수 최대깊이 늘려놓기 N, M = map(int, sys.stdin.readline().split()) # 노드개수, 간선개수 graph = [[] for _ in range(N + 1)] # 노드번호와 인덱스를 맞추기 위해 + 1 for _ in range(M): # 연결정보 입력받기 root, edge = map(int, sys.stdin.readline().split()) graph[root].append(edge) graph[edge].append(root) visited = [False] * (N + 1) # 노드번호와 인덱스를 맞추기 위해 + 1 visited[0] = True # 마지막에 False 존재 여부..

Algorithm/DFS 2024.03.30

[Baekjoon 11725 / python / 실버2] 트리의 부모 찾기

import sys sys.setrecursionlimit(10 ** 9) N = int(sys.stdin.readline()) # 노드의 개수 graph = [[] for _ in range(N + 1)] # 노드번호와 인덱스번호 동기화를 위해 N + 1 for _ in range(N - 1): # 연결정보 입력받기 root, edge = map(int, sys.stdin.readline().split()) graph[root].append(edge) graph[edge].append(root) visited = [False] * (N + 1) parent = [[] for _ in range(N + 1)] # 노드번호와 인덱스번호 동기화를 위해 N + 1 def dfs(graph, v, visited..

Algorithm/DFS 2024.03.30

[Baekjoon 2606 / python / 실버3] 바이러스

# DFS/BFS로 모든 노드 탐색 # visited 목록 만들어서 True 갯수 세면 될듯 !! import sys N = int(sys.stdin.readline()) # 노드의 개수 E = int(sys.stdin.readline()) # 간선의 개수 graph = [[] for _ in range(N + 1)] # 노드번호와 동기화 하기 위해 N + 1 for _ in range(E): root, edge = map(int, sys.stdin.readline().split()) # [1,2] 형태로 입력된다. 1번과 2번에 연결되어 있다는 뜻 graph[root].append(edge) # 무방향(양방향) 그래프이기 때문에 대칭되게 입력해 준다 graph[edge].append(root) for ..

Algorithm/DFS 2024.03.30
728x90
반응형