문제풀이/최단경로
[파이썬] [최단경로] 백준 14938 서강그라운드
승무_
2022. 3. 16. 11:46
문제
https://www.acmicpc.net/problem/14938
14938번: 서강그라운드
예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을
www.acmicpc.net
코드
import sys
input=sys.stdin.readline
INF=sys.maxsize
n,m,r=map(int, input().split())
item=list(map(int, input().split()))
graph=[[INF]*(n+1) for _ in range(n+1)]
for i in range(n+1):
for j in range(n+1):
if i==j:
graph[i][i]=0
for _ in range(r):
a,b,c=map(int, input().split())
graph[a][b]=c
graph[b][a]=c
for k in range(1,n+1):
for i in range(1,n+1):
for j in range(1,n+1):
graph[i][j]=min(graph[i][j],graph[i][k]+graph[k][j])
result=0
for i in range(1,n+1):
temp=0
for j in range(1,n+1):
if graph[i][j]<=m:
temp+=item[j-1]
result=max(result,temp)
print(result)