너비 우선 탐색 3

백준 2178번 미로 탐색 파이썬 BFS

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 내 답안 from collections import deque def bfs(x, y): queue = deque() queue.append((x, y)) while queue: x, y = queue.popleft() for i in range(4): # 상하좌우 탐색 nx = x + dx[i] ny = y + dy[i] # 범위를 벗어나면 무시 if nx = n or ny >= m: co..

BOJ/Python 2022.02.15

백준 2667번 단지 번호 붙이기 파이썬 DFS

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 답안 lst = [] n = int(input()) graph = [] for i in range(n): graph.append(list(map(int, input()))) def dfs(x, y): if x = n or y = n: return False if graph[x][y] == 1: graph[x][y] = 0 lst.append(0) dfs(x-1, y) # 상 dfs(x, y-1) #..

BOJ/Python 2022.02.04

백준 1260번 DFS와 BFS 파이썬

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net from collections import deque import sys def bfs(graph, v, visited): q = deque([v]) visited[v] = True while q: v = q.popleft() print(v, end = " ") for i in graph[v]: if not visited[i]: q.append(i) visit..

BOJ/Python 2022.02.03