동까의 코딩

99클럽 코테 스터디 1일차 TIL 본문

문제 풀이/99클럽

99클럽 코테 스터디 1일차 TIL

동까의 코딩 2025. 1. 14. 00:45
반응형

 

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

 

 

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


def bellman_ford(start):
    dist[start] = 0

    for i in range(1, n + 1):
        for j in range(m):
            now, next, cost = edges[j][0], edges[j][1], edges[j][2]
            if dist[now] != INF and dist[next] > dist[now] + cost:
                dist[next] = dist[now] + cost
                if i == n:
                    return True

    return False


n, m = map(int, input().split())
edges = []
dist = [INF] * (n + 1)

for _ in range(m):
    a, b, c = map(int, input().split())
    edges.append((a, b, c))

negative_cycle = bellman_ford(1)

if negative_cycle:
    print(-1)
else:
    for i in range(2, n + 1):
        if dist[i] == INF:
            print(-1)
        else:
            print(dist[i])

 

오늘의 문제로 타임머신을 풀어보았습니다.

그래프 이론, 최단 경로, 벨만-포드 관련 알고리즘이 필요한 문제였습니다.

더 공부해서 따로 정리해보도록 하겠습니다.

반응형

'문제 풀이 > 99클럽' 카테고리의 다른 글

99클럽 코테 스터디 3일차 TIL  (0) 2025.01.16
99클럽 코테 스터디 2일차 TIL  (1) 2025.01.14
[99항해] 39일차 TIL  (0) 2024.06.28
[99클럽] 38일차 TIL  (0) 2024.06.28
[99클럽] 37일차 TIL  (0) 2024.06.26