티스토리 뷰

Problem Solving/BOJ Solution

BOJ #1956 - 운동

hyp3rflow 2019. 10. 1. 19:53
https://icpc.me/1956

# 문제 분류
최단 경로 찾기 (Floyd-Warshall Algorithm)

풀이 접근 방법 :

 

1. 마을과 마을 사이를 연결하는 도로는 일방통행 도로이다.

2. 자기 자신의 가중치를 0으로 설정하지 말고 INF로 두어 갱신 가능하게 설정, Floyd-Warshall.

3. 답이 나온다.


간단한 문제다. 오히려 회장뽑기@2660 보다 쉽다.

 

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
29
30
31
32
33
34
35
36
37
#include <iostream>
using namespace std;
 
int INF = 1e9;
int V, E, a, b, c, arr[410][410], minn = INF, cnt;
 
int main(){
    scanf("%d %d",&V,&E);
    for(int i=0; i<410; i++){
        for(int j=0; j<410; j++) arr[i][j] = INF;
    }
    for(int i=0; i<E; i++){
        scanf("%d %d %d"&a, &b ,&c);
        arr[a][b] = c;
    }
    
    for(int i=1; i<=V; i++){
        for(int j=1; j<=V; j++){
            for(int k=1; k<=V; k++){
                arr[j][k] = min(arr[j][k], arr[j][i]+arr[i][k]);
            }
        }
    }
     
    for(int i=1; i<=V; i++){
        if(minn > arr[i][i]){
            minn = arr[i][i];
        }
    }
                        
    if(minn >= INF) printf("-1");
    else printf("%d", minn);
 
    return 0;
}
    
    
cs

'Problem Solving > BOJ Solution' 카테고리의 다른 글

BOJ #10159 - 저울  (0) 2019.10.01
BOJ #1613 - 역사  (0) 2019.10.01
BOJ #2660 - 회장뽑기  (0) 2019.10.01
BOJ #1753 - 최단경로  (0) 2019.10.01
BOJ #4307 - 개미  (0) 2019.07.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
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 29 30
글 보관함