[백준-11403] 경로 찾기

이말감·2022년 4월 26일
0

백준

목록 보기
38/49

문제

링크

코드

import sys
input = sys.stdin.readline
INF = int(1e9)

n = int(input())
graph = []

for _ in range(n) :
    graph.append(list(map(int, input().split())))

for k in range(n) :
    for a in range(n) :
        for b in range(n) :
            if graph[a][b] == 0 :
                graph[a][b] = INF
            graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b])

for i in range(n) :
    for j in range(n) :
        if graph[i][j] != INF :
            print(1, end=" ")
        else :
            print(0, end=" ")
    print()

직전에 플로이드-워셜 알고리즘을 공부하고, 개념을 그대로 적용해서 쉽게 풀 수 있었다.

profile
전 척척학사지만 말하는 감자에요

0개의 댓글