結果

問題 No.1344 Typical Shortest Path Sum
ユーザー umezo
提出日時 2021-01-16 13:18:40
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 3 ms / 2,000 ms
コード長 791 bytes
コンパイル時間 1,758 ms
コンパイル使用メモリ 192,376 KB
最終ジャッジ日時 2025-01-17 21:51:49
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 77
権限があれば一括ダウンロードができます

ソースコード

diff #

#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define ALL(v) v.begin(),v.end()
typedef long long ll;

#include <bits/stdc++.h>
using namespace std;

const int MAX=110;
const ll INF=1e18;

ll dis[MAX][MAX];
int n,m;

void floyd(){
  rep(k,n){
    rep(i,n){
      if(dis[i][k]==INF) continue;
      rep(j,n){
        if(dis[k][j]==INF) continue;
        dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
      }
    }
  }
}

int main(){
  cin>>n>>m;
  
  rep(i,n){
    rep(j,n){
      if(i==j) dis[i][j]=0;
      else dis[i][j]=INF;
    }
  }
  
  ll s,t,d;
  rep(i,m){
    cin>>s>>t>>d;
    s--,t--;
    dis[s][t]=min(dis[s][t],d);
  }
  
  floyd();
  
  rep(i,n){
    ll ans=0;
    rep(j,n){
      if(dis[i][j]==INF) continue;
      ans+=dis[i][j];
    }
    cout<<ans<<endl;
  }
  
  return 0;
}
0