본문 바로가기
반응형

알고리즘/그래프 탐색12

[백준][Python] 1012번 유기농 배추 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 코드 import sys from collections import deque dx = [0,0,-1,1] dy = [-1,1,0,0] 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 0 2022. 10. 5.
[백준][Python] 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 + x_n[i] ny = y + y_n[i] if nx >= 0 and nx = 0 and ny < m:# 범위를 벗어나지 않고 if maze[nx][ny] == 1:# 이동할 .. 2022. 10. 4.
[백준][Python] 2667번 단지번호붙이기 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 코드 from collections import deque dx = [0,0,1,-1] dy = [1,-1,0,0] def bfs(graph,x,y): queue = deque() queue.append((x,y)) graph[x][y] = 0 count = 1 while queue: x,y = queue.popleft() for i in range(4): # 상하좌우 모두 확인 x_n = x + dx[i] y_n = y + dy[i] if x_n < 0 or x.. 2022. 9. 22.
[백준][Python] 2606번 바이러스 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 코드 from collections import defaultdict def dfs(s): global cnt v.add(s) for i in virus[s]: if i not in v: cnt += 1 dfs(i) cnt = 0 com = int(input()) conn = int(input()) virus = defaultdict(list) v = set() for i in range(conn): a,b = map(int,input().split()) virus[.. 2022. 9. 15.
반응형