-
[백준] 1238 - 파티Algorithm 문제 2019. 6. 28. 18:03
https://www.acmicpc.net/problem/1238
간단한 플로이드-워셜 알고리즘 문제
3중첩 for-loop를 이용하여 최단 경로를 제공하는 경유지를 탐색한다.
<C++ 코드>
123456789101112131415161718192021222324252627282930313233343536373839#include <cstdio>#include <algorithm>using namespace std;int dist[1001][1001];int main(){int n, m, x;scanf("%d %d %d", &n, &m, &x);for(int i=1; i<=n; i++){for(int j=1; j<=n; j++){dist[i][j] = 1000000;}dist[i][i] = 0;}for(int i=0; i<m; i++){int s, e, v;scanf("%d %d %d", &s, &e, &v);dist[s][e] = min(dist[s][e], v);}for(int k=1; k<=n; k++){for(int i=1; i<=n; i++){for(int j=1; j<=n; j++){dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);}}}int re = 0;for(int i=1; i<=n; i++){re = max(re, dist[i][x] + dist[x][i]);}printf("%d", re);return 0;}cs 'Algorithm 문제' 카테고리의 다른 글
[백준] 1562 - 계단 수 (0) 2019.06.30 [백준] 3190 - 뱀 (0) 2019.06.30 [백준] 17140 - 이차원 배열과 연산 (0) 2019.06.29 [백준] 13306 - 트리 (0) 2019.06.27 [백준] 2805 - 나무 자르기 (0) 2019.06.26