최단경로

https://www.acmicpc.net/problem/1261코드 (BFS)from collections import dequem, n = map(int, input().split())maze = [input() for _ in range(n)]dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]break_num = [[n*m]*m for _ in range(n)]break_num[0][0] = 0q = deque([(0, 0)])while q: x, y = q.popleft() for i in range(4): nx = x+dx[i] ny = y+dy[i] if 0 cnt: break_num[nx][ny] = ..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD&categoryId=AV15QRX6APsCFAYD&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=2 코드from heapq import heappop, heappushdx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]for tc in range(1, int(input())+1): n = int(input()) board = [input() for _ in range(n)]..
https://www.acmicpc.net/problem/10282 코드from heapq import heappop, heappushimport sysinput = sys.stdin.readlinefor _ in range(int(input())): n, d, c = map(int, input().split()) graph = [[] for _ in range(n+1)] for _ in range(d): a, b, s = map(int, input().split()) heappush(graph[b], (s, a)) # Dijkstra dist = [int(1e9)] * (n+1) dist[c] = 0 hq = [(0, c)] while..
2660번: 회장뽑기 입력의 첫째 줄에는 회원의 수가 있다. 단, 회원의 수는 50명을 넘지 않는다. 둘째 줄 이후로는 한 줄에 두 개의 회원번호가 있는데, 이것은 두 회원이 서로 친구임을 나타낸다. 회원번호는 1부터 www.acmicpc.net 코드 n = int(input()) dist = [[50]*(n+1) for _ in range(n+1)] for i in range(1, n+1): dist[i][i] = 0 while True: a, b = map(int, input().split()) if a == -1 and b == -1: break dist[a][b] = 1 dist[b][a] = 1 # Floyd-Warshall for k in range(1, n+1): for i in range(..
17396번: 백도어 첫 번째 줄에 분기점의 수와 분기점들을 잇는 길의 수를 의미하는 두 자연수 N과 M이 공백으로 구분되어 주어진다.(1 ≤ N ≤ 100,000, 1 ≤ M ≤ 300,000) 두 번째 줄에 각 분기점이 적의 시야에 보이는 www.acmicpc.net 코드 from heapq import heappop, heappush import sys input = sys.stdin.readline INF = sys.maxsize n, m = map(int, input().split()) visible = list(map(int, input().split())) visible[n-1] = 0 graph = [[] for _ in range(n)] for _ in range(m): a, b, t =..
딜레이레이
'최단경로' 태그의 글 목록