1. 얼음 문제 N X M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려있는 부분끼리 상, 하, 좌, 우로 붙어있는 경우 서로 연결되어 있는 것으로 간주한다. 이 때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하라. n, m = map(int, input().split()) graph = [list(map(int, input())) for _ in range(n)] def dfs(x, y): # 범위에 벗어나느 경우 False if x = n or y = m: return False if graph[x][y] == 0: graph[x][y] = 1 dfs(x+1, y..
Breadth-First Search(너비 우선 탐색) 코드로 짜기 from collections import deque def bfs(graph, start, visited): queue = deque([start]) #queue자료 구조를 사용함 visited[start] = True while queue: v=queue.popleft() print(v,end=' ') for i in graph[v]: if not visited[i]: queue.append(i) visited[i]=True graph = [[],[2,3,8],[1,7],[1,4,5],[3,5],[3,4],[7],[2,6,8],[1,7]] visited = [False]*9 bfs(graph, 1,visited)
depth-first search(깊이 우선 탐색) 코드 작성하기 def dfs(graph,v,visited): visited[v]=True print(v,end=' ') for i in visited[v]: if not visited[i]: dfs(graph, i, visited) graph = [[],[2,3,8],[1,7],[1,4,5],[3,5],[3,4],[7],[2,6,8],[1,7]] visited=[False]*9 dfs(graph,1,visited)