专题四 · 1009
Posted suamfadmp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了专题四 · 1009相关的知识,希望对你有一定的参考价值。
代码及解释
#include <iostream>
#include <cstring>
// 简单的 Floyd
// 初始化的一个技巧是用 unsigned int 然后初始化 -1
// 更像是一个 trick
// 还有一个是 INT_MAX 位于 limits.h
// 更好的选择是
// std::numeric_limits<decltype(G[0][0])>::max
// 位于 limits
const int SIZE = 110;
unsigned int G[SIZE][SIZE];
int N,M;
void Floyd()
for(int k = 0; k < N; ++k)
for(int i = 0; i < N; ++i)
for(int j = 0; j < N; ++j)
G[i][j]= std::min(G[i][j], G[i][k] + G[k][j]);
int main()
while(std::cin >> N >> M && N + M)
memset(G, -1, sizeof(G));
for(int i = 0; i < N; ++i)
G[i][i] = 0;
int x,y;
for(int i = 0; i < M; ++i)
std::cin >> x >> y >> G[y][x];
G[x][y] = G[y][x];
Floyd();
std::cout << G[0][N - 1] << std::endl;
return 0;
以上是关于专题四 · 1009的主要内容,如果未能解决你的问题,请参考以下文章
kuangbin专题专题四 MPI Maelstrom POJ - 1502