[๋ฐฑ์ค€] 1956. ์šด๋™/Python - Gold4

2025. 8. 20. 18:02ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 112760 KB, ์‹œ๊ฐ„: 2168 ms

๋ถ„๋ฅ˜

๊ทธ๋ž˜ํ”„ ์ด๋ก , ์ตœ๋‹จ ๊ฒฝ๋กœ, ํ”Œ๋กœ์ด๋“œ–์›Œ์…œ

 

๋ฌธ์ œ ์„ค๋ช…

V๊ฐœ์˜ ๋งˆ์„์™€ E๊ฐœ์˜ ๋„๋กœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๋„์‹œ๊ฐ€ ์žˆ๋‹ค. ๋„๋กœ๋Š” ๋งˆ์„๊ณผ ๋งˆ์„ ์‚ฌ์ด์— ๋†“์—ฌ ์žˆ์œผ๋ฉฐ, ์ผ๋ฐฉ ํ†ตํ–‰ ๋„๋กœ์ด๋‹ค. ๋งˆ์„์—๋Š” ํŽธ์˜์ƒ 1๋ฒˆ๋ถ€ํ„ฐ V๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค๊ณ  ํ•˜์ž.

๋‹น์‹ ์€ ๋„๋กœ๋ฅผ ๋”ฐ๋ผ ์šด๋™์„ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์šด๋™์„ ํ•œ ํ›„์—๋Š” ๋‹ค์‹œ ์‹œ์ž‘์ ์œผ๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์ด ์ข‹๊ธฐ ๋•Œ๋ฌธ์—, ์šฐ๋ฆฌ๋Š” ์‚ฌ์ดํด์„ ์ฐพ๊ธฐ๋ฅผ ์›ํ•œ๋‹ค. ๋‹จ, ๋‹น์‹ ์€ ์šด๋™์„ ๋งค์šฐ ๊ท€์ฐฎ์•„ํ•˜๋ฏ€๋กœ, ์‚ฌ์ดํด์„ ์ด๋ฃจ๋Š” ๋„๋กœ์˜ ๊ธธ์ด์˜ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ์ฐพ์œผ๋ ค๊ณ  ํ•œ๋‹ค.

๋„๋กœ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋„๋กœ์˜ ๊ธธ์ด์˜ ํ•ฉ์ด ๊ฐ€์žฅ ์ž‘์€ ์‚ฌ์ดํด์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‘ ๋งˆ์„์„ ์™•๋ณตํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์‚ฌ์ดํด์— ํฌํ•จ๋จ์— ์ฃผ์˜ํ•œ๋‹ค.

โœ๐Ÿปํ’€์ด

์ด ๋ฌธ์ œ๋Š” ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๊ฐ„์„  ์ •๋ณด๋ฅผ ๋ฐ›์•„์„œ a์—์„œ b๋งˆ์„๊นŒ์ง€ ๊ฐ€๋Š” ๋„๋กœ์˜ ๊ธธ์ด๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ดํ›„ ์ •์ ์„ ๊ฑฐ์ณ์„œ a์—์„œ b๋งˆ์„๊นŒ์ง€ ๊ฐ€๋Š” ์ตœ์†Œ ๊ธธ์ด๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.

์ด ๋ฌธ์ œ์—์„œ๋Š” ์‹œ์ž‘์ ์œผ๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•˜์˜€์œผ๋ฏ€๋กœ ์‚ฌ์ดํด์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์‹œ์ž‘ ์ •์ ์—์„œ ๋„์ฐฉ ์ •์ ์œผ๋กœ ๊ฐ€๋Š” ๋„๋กœ ๊ธธ์ด์™€ ๋„์ฐฉ ์ •์ ์—์„œ ์‹œ์ž‘ ์ •์ ์œผ๋กœ ๊ฐ€๋Š” ๋„๋กœ์˜ ๊ธธ์ด๋ฅผ ํ•ฉํ•œ ๊ฐ’์ด ์™•๋ณตํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋˜๋ฉฐ ์ด ๋•Œ ๊ฐ’์ด INF ์ด์ƒ์ด๋ผ๋ฉด -1์„ ์ถœ๋ ฅํ•˜๊ณ  ์•„๋‹ˆ๋ผ๋ฉด ์ตœ์†Œ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

Floyd-Warshall Algorithms

import sys

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

V, E = map(int, input().split())
board = [[INF if i != j else 0 for j in range(V)] for i in range(V)]

for _ in range(E):
    a, b, c = map(int, input().split())
    board[a-1][b-1] = c

for k in range(V):
    for i in range(V):
        for j in range(V):
            board[i][j] = min(board[i][j], board[i][k] + board[k][j])

res = INF
for v in range(V):
    for u in range(V):
        if u!= v:
            res = min(res, board[v][u] + board[u][v])
        
print(-1) if res >= INF else print(res)

๐Ÿ“ํ›„๊ธฐ

ํ•œ์ฐธ์„ ํ’€๋‹ค๊ฐ€ ์•ˆ ํ’€๋ ค์„œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐพ์•„๋ณธ ํ›„ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ๋กœ ํ’€์–ด์„œ ๋งž์ท„๋‹ค. ์ฒ˜์Œ์— ๊ณ„์† ๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ๋„์ „ํ–ˆ๋Š”๋ฐ ์ •๋ง ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ๋ฐ–์— ์•ˆ ๋˜๋Š” ๊ฑธ๊นŒ...

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 20040. ์‚ฌ์ดํด ๊ฒŒ์ž„/Python - Gold4  (0) 2025.09.10
[๋ฐฑ์ค€] 1976. ์—ฌํ–‰ ๊ฐ€์ž/Python - Gold4  (0) 2025.08.18
[๋ฐฑ์ค€] 1717. ์ง‘ํ•ฉ์˜ ํ‘œํ˜„/Python - Gold5  (0) 2025.08.17
[๋ฐฑ์ค€] 1197. ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ/Python - Gold4  (1) 2025.08.16
[๋ฐฑ์ค€] 13549. ์ˆจ๋ฐ”๊ผญ์งˆ3/Python - Gold5  (0) 2025.08.15
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 20040. ์‚ฌ์ดํด ๊ฒŒ์ž„/Python - Gold4
  • [๋ฐฑ์ค€] 1976. ์—ฌํ–‰ ๊ฐ€์ž/Python - Gold4
  • [๋ฐฑ์ค€] 1717. ์ง‘ํ•ฉ์˜ ํ‘œํ˜„/Python - Gold5
  • [๋ฐฑ์ค€] 1197. ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ/Python - Gold4
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (178)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (92)
        • Algorithms (84)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    K8s
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    programmers
    Shell Script
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    Shell
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Linux
    Kubernetes
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    dfs
    bfs
    network
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ๋ฆฌ๋ˆ…์Šค
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    ๋„์ปค
    Java
    ๋ฐฑ์ค€
    ์ž๋ฐ”
    docker
    Baekjoon
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ์˜ค๋ธ”์™„
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    ๋„คํŠธ์›Œํฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 1956. ์šด๋™/Python - Gold4
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”