songining
article thumbnail
[BFS] ๋ฐฑ์ค€ 2178 ๋ฌธ์ œํ’€์ด
ALGORITHM 2020. 10. 26. 21:03

๋ง๊ทธ๋Œ€๋กœ ๋ฏธ๋กœํƒ์ƒ‰ ๋ฌธ์ œ์˜€๋‹ค. 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

article thumbnail
[DFS/BFS] ๋ฐฑ์ค€ 1260 ๋ฌธ์ œํ’€์ด
ALGORITHM 2020. 10. 26. 13:00

์œ„์˜ ์˜ˆ์ œ๋ฅผ 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,..