Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Matplotlib
- docker
- 백준
- autoencoder
- NaverAItech
- pep8
- vscode
- github
- 완전탐색
- datascience
- Kubernetes
- 네이버AItech
- 코딩테스트
- leetcode
- FDS
- GCP
- python
- Kaggle
- pytorch
- NLP
- GIT
- wandb
- GitHub Action
- FastAPI
- PytorchLightning
- rnn
- DeepLearning
- 프로그래머스
- torchserve
- 알고리즘
Archives
- Today
- Total
Sangmun
백준 11403번 경로찾기 본문
https://www.acmicpc.net/problem/11403
n의 케이스가 0< n <= 100이라서 플로이드와셜로 해결이 가능한 문제인 것 같아 플로이드와셜로 해결을 하였다.
import sys
input = sys.stdin.readline
INF = int(1e9)
# graph 생성
n = int(input())
graph = []
for _ in range(n):
a_list = list(map(int,input().split()))
graph.append(a_list)
# 0인 값에 INF값을 넣어줌
for i in range(n):
for j in range(n):
if graph[i][j] == 0:
graph[i][j] = INF
# 위상 정렬을 실시
for k in range(n):
for a in range(n):
for b in range(n):
if graph[a][b] >= (graph[a][k] + graph[k][b]):
graph[a][b] = 1
# 갈 수 없는 경로(INF)를 다시 0으로 바꿔줌
for a in range(n):
for b in range(n):
if graph[a][b] > 1:
graph[a][b] = 0
# 결과 출력
for a in range(n):
result = map(str,graph[a])
print(' '.join(result))
'알고리즘 > 백준' 카테고리의 다른 글
백준 11758번 CCW (0) | 2022.11.10 |
---|---|
백준 14500번 테트로미노 (1) | 2022.10.08 |
백준 14624번 - 전북대학교 (0) | 2022.09.28 |
백준 1766번 문제집 (0) | 2022.09.05 |
백준 1774 우주신과의 교감 (0) | 2022.08.30 |
Comments