Skip to content

Commit 35d7faa

Browse files
authored
Floyd算法(附CodeVS - 1077 多源最短路代码)
1 parent ff2d7d7 commit 35d7faa

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

Floyd-Warshall.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#include <cstdio>
2+
3+
using namespace std;
4+
5+
int n, q;
6+
int w[100][100];
7+
8+
inline int min(int x, int y)
9+
{
10+
return x < y ? x : y;
11+
}
12+
13+
void Floyd_Warshall()
14+
{
15+
for (int k = 0; k < n; k++)
16+
{
17+
for (int i = 0; i < n; i++)
18+
{
19+
for (int j = 0; j < n; j++)
20+
{
21+
w[i][j] = min(w[i][j], w[i][k] + w[k][j]);
22+
}
23+
}
24+
}
25+
}
26+
27+
int main()
28+
{
29+
scanf("%d", &n);
30+
for (int i = 0; i < n; i++)
31+
{
32+
for (int j = 0; j < n; j++)
33+
{
34+
scanf("%d", &w[i][j]);
35+
}
36+
}
37+
Floyd_Warshall();
38+
scanf("%d", &q);
39+
for (int i = 0; i < q; i++)
40+
{
41+
int a, b;
42+
scanf("%d%d", &a, &b);
43+
printf("%d\n", w[a - 1][b - 1]);
44+
}
45+
return 0;
46+
}

0 commit comments

Comments
 (0)