intさわだんのBlack History

刹那的レジェンドになりたい。

memo ワーシャル=フロイド法

完全にメモです。

#include <cstdio>
#include <algorithm>
#include <iostream>

using namespace std;


int dp[8][8] = {0};
int V;

const int INF = 10000;

void wf(){

  for(int k = 0;k < V;k++){
    for(int i = 0;i < V;i++){
      for(int j = 0;j < V;j++) dp[i][j] = min(dp[i][j],dp[i][k] + dp[k][j]);
    }
  }

}


int main(){
  int dai = 0;

  scanf("%d%d",&V,&dai);

  for(int i = 0;i < V;i++){
    for(int j = 0;j < V;j++){
      if(i == j){
	dp[i][j] = 0;
      }else{
	dp[i][j] = INF;
      }
    }
  }

  for(int i = 0;i < dai;i++){
    int s1,s2,s3;

    scanf("%d%d%d",&s1,&s2,&s3);

    dp[s1][s2] = s3;
    dp[s2][s1] = s3;

  }

  wf();

  cout << dp[0][6] << endl;

}