[백준] 11403번, 경로 찾기 (Python)

2021. 7. 21. 13:18·알고리즘/백준
728x90
반응형

문제

https://www.acmicpc.net/problem/11403

 

11403번: 경로 찾기

가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

코드

import sys
input = sys.stdin.readline
INF = sys.maxsize

n = int(input())
demo = [list(map(int,input().split())) for _ in range(n)]
graph = [[INF for _ in range(n)] for _ in range(n)]

for i in range(n):
    for j in range(n):
        if demo[i][j] == 1:
            graph[i][j] = 1

for k in range(n):
    for i in range(n):
        for j in range(n):
            graph[i][j] = min(graph[i][j], graph[i][k]+graph[k][j])

for i in range(n):
    for j in range(n):
        if graph[i][j] == INF:
            print(0, end=' ') # 길이없는경우 INF일 경우에만 0을 출력
        else:
            print(1, end=' ') # 자기자신에게 가는것도 길이 있는것이므로 1이 출력된다.
    print()

모든 정점에 대하여 경로를 구하는 문제로 플로이드 와샬을 사용하여 풀었다.

 

플로이드 와샬은 3중 for문을 사용해 현재값과 k지점을 거쳐서 가는값중에 최소값을 저장합니다.

이 문제에서는 최단경로를 구하는 문제는 아니고 경로가 존재 하는지 아닌지를 찾는 문제이다.

 

graph에 값이 INF인 경우에만 경로가 접근할 수 있는 경로가 없으므로 0을 출력하고 나머지는 1을 출력한다.

반응형
저작자표시 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 2573번, 빙산 (Python)  (0) 2021.07.21
[백준] 11725번, 트리의 부모 찾기 (Python)  (0) 2021.07.21
[백준] 15900번, 나무 탈출 (Python)  (0) 2021.07.21
[백준] 10026번, 적록색약 (Python)  (0) 2021.07.16
[백준] 2583번, 영역 구하기 (Python)  (0) 2021.07.16
'알고리즘/백준' 카테고리의 다른 글
  • [백준] 2573번, 빙산 (Python)
  • [백준] 11725번, 트리의 부모 찾기 (Python)
  • [백준] 15900번, 나무 탈출 (Python)
  • [백준] 10026번, 적록색약 (Python)
wookcode
wookcode
공부한 내용들을 정리하고 기록하는 블로그입니다.
    반응형
  • wookcode
    wookcode
    wookcode
  • 전체
    오늘
    어제
    • 카테고리 (196) N
      • study (0)
        • 아파치 카프카 애플리케이션 프로그래밍 with 자.. (0)
      • Live Study (15)
      • Programming (14)
        • Java (8)
        • Python (1)
        • Springboot (5)
        • MSA (0)
      • 알고리즘 (117)
        • 백준 (58)
        • 프로그래머스 (59)
      • 에러로그 (5)
      • 항해99 (23)
      • 면접 (1)
      • 프로젝트 (1)
      • CS (20) N
        • 네트워크 (2)
        • 운영체제 (2)
        • 데이터베이스 (2)
        • 컴퓨터구조 (1)
        • Java (8)
        • Spring (5) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    브루트포스
    orm
    김영한
    java
    후기
    항해마켓
    괄호
    알고리즘
    파이썬
    정리
    jpa
    인프런
    SFlash
    에러
    실전프로젝트
    버그
    항해99
    회고
    카카오코딩테스트
    spring
    스파르타코딩클럽
    그리디
    프로그래머스
    카카오인턴
    미니프로젝트
    조합
    코딩테스트
    백준
    해결
    SpringBoot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
wookcode
[백준] 11403번, 경로 찾기 (Python)
상단으로

티스토리툴바