๋ง๊ทธ๋๋ก ๋ฏธ๋กํ์ ๋ฌธ์ ์๋ค. 1,1์์ n,m๊น์ง ์ด๋ํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. ์ต์์ ์นธ ์๋ฅผ ์ถ๋ ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ BFS๋ฅผ ์ฌ์ฉํ์๋ค. from collections import deque def bfs(v): queue.append((0, 0)) dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] while queue: x, y = queue.popleft() for i in range(4): # ์์๋ ธ๋ ํ์ ์ถ๊ฐํ๊ธฐ ์ํจ nx, ny = x + dx[i], y + dy[i] if 0
์์ ์์ ๋ฅผ 2์ฐจ์ ๋ฐฐ์ด๋ก ํํํ๋ฉด ์ด๋ ๊ฒ ๋๋ค. (์๋ฐฉํฅ์ด๋ฏ๋ก) matrix[i][j]๋ผ๋ฉด i์์ j๋ฅผ ๊ฐ ์ ์์ผ๋ฉด 1, ์๋๋ฉด 0์ด๋ค. def dfs(v): # v๊ฐ ์์์ print(v, end=' ') visit[v] = 1 # ๋ฐฉ๋ฌธํ ์ 1๋ก for i in range(1, n + 1): if visit[i] == 0 and matrix[v][i] == 1: # ๋ฐฉ๋ฌธ์ ์์ง ์ํ๊ณ v์์ i๋ก ๊ฐ์์๋ค๋ฉด dfs(i) # i๋ฅผ ๋ค์ v๋ก ํ๋ฉด์ dfs ๋ก ํ์ def bfs(v): queue = [v] # ๋ค๋ ค์ผ ํ ์ ์ ์ฅ visit[v] = 0 # ๋ฐฉ๋ฌธํ ์ 0์ผ๋ก( dfs๋ก ์ธํด 1๋ก ๋ฐ๋์ด ์์ผ๋ฏ๋ก) while queue: # ํ๊ฐ ๋น ๋๊น์ง v = queue.pop(0) print(v,..