플로이드-워셜 예제 - 3
문제 분석
손으로 풀어보기
슈도코드
n(노드 수) m(에지 수)
distance(인접 행렬) # 큰 수로 초기화
for n 반복:
시작과 출발이 같으면 0
for m 반복:
인접 행렬 데이터 저장
양방향으로 가중치 1로 저장
for k n반복:
for s n반복:
for e n반복:
distance[s][e]보다 distance[s][k] + distance[k][e]가 작으면 업데이트
min
ans
for i n반복:
for j n반복:
리스트의 행 합
if min > 리스트의 행 합:
min = 리스트의 행 합
ans = i
ans 출력코드 구현 - 파이썬
코드 구현 - 자바
Last updated