*문제 출처는 백준에 있습니다.
문제 제목: 경로 찾기 / 11403번 (실버 1단계)
문제 사이트: https://www.acmicpc.net/problem/11403
문제 설명

나의 풀이
def main():
n = int(input())
graph = [list(map(int, input().split())) for _ in range(n)]
# 플로이드-워셜 알고리즘 (경로 존재 여부를 전파)
for k in range(n):
for i in range(n):
for j in range(n):
if graph[i][k] and graph[k][j]:
graph[i][j] = 1
# 출력
for row in graph:
print(' '.join(map(str, row)))
if __name__=="__main__":
main()

※ 알아야 할 것
플로이드 워셜 알고리즘을 이용하면 쉽게 해결하실 수 있습니다!
'Coding Test > 백준-Python' 카테고리의 다른 글
| 백준 / 다리 만들기 2 / 17472번 / Python (0) | 2025.05.07 |
|---|---|
| 백준 / 빵집 / 3109번 / Python (0) | 2025.05.06 |
| 백준 / 스타트와 링크 / 14889번 / Python (0) | 2025.05.02 |
| 백준 / 내려가기 / 2096번 / Python (0) | 2025.05.01 |
| 백준 / 트리 순회 / 1991번 / Python (0) | 2025.04.30 |