BFS

https://school.programmers.co.kr/learn/courses/30/lessons/154540 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr  โœ… DFS ํ’€์ดimport syssys.setrecursionlimit(10**6)dx = [1, -1, 0, 0]dy = [0, 0, -1, 1]def dfs(x, y, graph): count = graph[x][y] # ํ˜„์žฌ ์œ„์น˜ ์‹๋Ÿ‰๊ฐ’ graph[x][y] = 0 # ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ for d in range(4): nx = x + dx[d] ny =..
๐Ÿฅˆ Silver2 https://www.acmicpc.net/problem/17086   โœ… ์ •๋‹ตํ’€์ดimport sysfrom collections import dequeinput = sys.stdin.readlinem, n = map(int, input().rstrip().split())dx = [0, 1, 1, 1, 0, -1, -1, -1]dy = [-1, -1, 0, 1, 1, 1, 0, -1]def bfs(): result = 0 while queue: cy, cx = queue.popleft() for i in range(8): ny, nx = dy[i] + cy, dx[i] + cx # ์ƒ์–ด๊ฐ€ ์—†๋Š” 0์— ๋Œ€ํ•ด ์ด๋™ ..
๐Ÿฅˆ Silver1https://www.acmicpc.net/problem/1697  ๋ฉ”๋ชจ๋ฆฌ์‹คํ–‰์‹œ๊ฐ„40316KB252ms  โœ… ์ •๋‹ตํ’€์ดimport sysfrom collections import dequeinput = sys.stdin.readline# ์ตœ๋‹จ๊ฒฝ๋กœ ์ฐพ๊ธฐ=์ตœ๋‹จ์‹œ๊ฐ„ ์ฐพ๊ธฐ (bfs)def bfs(start,target): global cur queue=deque([start]) visited[start]=0 #์‹œ์ž‘์ ์€ ์ด๋™๊ฑฐ๋ฆฌ=0 while queue: cur=queue.popleft() if cur==target: return visited[cur] for i in range(3): if i ์ˆ˜๋นˆ..
๐Ÿฅˆ Silver1https://www.acmicpc.net/problem/21937  โœ… ์ •๋‹ต์ฝ”๋“œimport sysinput = sys.stdin.readlinedef dfs(idx): stack.append(idx) visited[idx] = True while stack: cur = stack.pop() for i in graph[cur]: if not visited[i]: stack.append(i) visited[i] = True answer.add(i)n, m = map(int, input().strip().split())graph = [[] fo..
๐Ÿฅˆ Silver2 https://www.acmicpc.net/problem/7562 โœ… ์ •๋‹ตํ’€์ดimport sysfrom collections import dequeinput = sys.stdin.readlinedx = [1, 2, 2, 1, -1, -2, -2, -1]dy = [2, 1, -1, -2, -2, -1, 1, 2]def bfs(start_x, start_y, end_x, end_y, length): queue = deque([(start_x, start_y)]) visited = [[-1] * length for _ in range(length)] # ๋ชจ๋“  ๊ฐ’์„ -1๋กœ ์ดˆ๊ธฐํ™” visited[start_x][start_y] = 0 # ์‹œ์ž‘ ์ง€์ ์˜ ์ด๋™ ๊ฑฐ๋ฆฌ 0์œผ๋กœ ์„ค..
๐Ÿฅˆ Silver3 https://www.acmicpc.net/problem/2606  โœ… ์ •๋‹ตํ’€์ด : DFSdef dfs(idx): stack=[idx] #stack.append(idx) visited[idx]=True while stack: cur=stack.pop() for adj in graph[cur]: if not visited[adj]: visited[adj]=True stack.append(adj)# ๊ทธ๋ž˜ํ”„ ์ดˆ๊ธฐ ์„ค์ •n=int(input())graph=[[] for _ in range(n+1)] #0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” ๋นˆ๋ฐฐ์—ด๋กœfor _ in range(int(input())):..
๐ŸฅˆSilver2https://www.acmicpc.net/problem/2644   โœ… ์ •๋‹ตํ’€์ดimport sysfrom collections import dequeinput = sys.stdin.readlinedef bfs(start,end): queue=deque([start]) visited[start]=0 # ์‹œ์ž‘์ง€์ : ๊ฑฐ๋ฆฌ 0 while queue: cur=queue.popleft() # ๋ชฉํ‘œ ์ง€์  ๋„๋‹ฌํ•˜๋ฉด ๊ฑฐ๋ฆฌ ๋ฐ˜ํ™˜ if cur==end: return visited[cur] # ์ธ์ ‘ ๋…ธ๋“œ ๋ฐฉ๋ฌธ for neighbor in graph[cur]: if visit..
Yuuuki
'BFS' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก