专题四 · 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

专题四:自定义Web浏览器

SQL语句复习专题四

kuangbin专题四 : 最短路 I 题 Arbitrage

[专题四] 并查集

专题四 · 1001