숨바꼭질

다익스트라 알고리즘을 이용해 1번 노드 ~ 다른 모든 노드까지의 최단 거리를 구하면 나오는 distance 리스트를 통해 풀 수 있는 문제. 여기서는 각 노드 사이의 거리가 1이기 때문에 BFS를 이용해서도 풀 수 있지만, 다익스트라 알고리즘을 사용하면서 각 노드 사이의 거리를 1로 넣어주면 다익스트라 알고리즘으로도 풀 수 있다. 내 풀이 코드 # 숨바꼭질 import heapq, sys input = sys.stdin.readline INF = int(1e9) n, m = map(int, input().split()) graph = [[] for _ in range(n+1)] # (도착노드, 거리)를 저장하기 위한 리스트 distance = [INF] * (n+1) # 최단거리를 저장하기 위한 리스트 ..
1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 최단 경로 -> BFS BFS를 사용해서 풀면 되는 문제다. 풀이 코드 # 1697번: 숨바꼭질 from collections import deque n,k = map(int, input().split()) visited = [0] * 100002 # 방문 여부 + 해당 인덱스에 방문하기 까지 걸린 시간을 저장하기 위한 리스트 def bfs(n, k): if n == k: # 동생과 위치가 같다면 그대로 0 리턴 return 0 que..
happenundo
'숨바꼭질' 태그의 글 목록