본문 바로가기
반응형

알고리즘/dfs,bfs14

[파이썬🐍] 백준 11725 : 트리의 부모 찾기 import sys from collections import deque input = sys.stdin.readline def bfs(node): queue = deque() queue.append(node) while queue: node = queue.popleft() for n in graph[node]: if parents[n] == 0: parents[n] = node queue.append(n) n = int(input()) graph = [[] for _ in range(n+1)] for _ in range(n-1): u,v = map(int,input().split()) graph[u].append(v) graph[v].append(u) parents = [0]*(n+1) bfs(1) f.. 2021. 6. 22.
[파이썬🐍] 백준 1325 : 효율적인 해킹 일단 이 문제는 bfs로 풀었는데 백준에 python3으로 코드를 제출하면 시간초과가 뜬다.😂 그래서 서치해본 결과 대부분 pypy3으로 제출하는 걸 알 수 있었다. 그래도 python3으로 통과가 되는 코드는 없을까? 백준 정답자중에 찾아봤는데 딱 2개를 찾을 수 있었다. 하지만 코드가 너무 길고 정말 복잡하게 푼 코드였다 ㅜㅜ 그래서 pypy3으로 해결한 것이 찝찝하지만 그래도 다른 방법을 찾을 수 없기에 어쩔 수 없다. from collections import deque import sys input = sys.stdin.readline def bfs(node): queue = deque() queue.append(node) check[node] = 1 while queue: node = queu.. 2021. 6. 1.
[파이썬🐍] 백준 7562 : 나이트의 이동 from collections import deque import sys input = sys.stdin.readline def bfs(sx,sy,ax,ay): q = deque() q.append([sx,sy]) s[sx][sy] = 1 while q: a,b = q.popleft() if (a == ax) and (b == ay): return print(s[ax][ay]-1) for i in range(8): x = a + dx[i] y = b + dy[i] if 0 2021. 5. 31.
[파이썬🐍] 백준 1012 : 유기농 배추 import sys sys.setrecursionlimit(10000) #재귀한도 풀어주기 def dfs(x,y): dx = [1,-1,0,0] dy = [0,0,1,-1] for i in range(4): nx = x+dx[i] ny = y+dy[i] if (0 2021. 5. 30.
반응형