Cod sursa(job #3215656)

Utilizator miruna.abAbaianiti Miruna miruna.ab Data 15 martie 2024 11:19:39
Problema Algoritmul lui Dijkstra Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dijkstra.in");
ofstream fout("dijkstra.out");
int n, m;
int a[50001][50001], x, y, z;
int inf=INT_MAX;
int main()
{
    fin>>n>>m;
    for(int i=1; i<=m; i++){
        fin>>x>>y>>z;
        a[x][y]=a[y][x]=z;
    }
    for(int i=1; i<=n; i++)
    for(int j=1; j<=n; j++)if(i!=j&&a[i][j]==0){
        a[i][j]=inf;
    }
      for(int k=1;k<=n;++k){
        for(int i=1;i<=n;++i){
            for(int j=1;j<=n;++j)if(a[i][k]!=inf&&a[k][j]!=inf){
            if(a[i][j]>a[i][k]+a[k][j]){
                a[i][j]=a[i][k]+a[k][j];
            }   
            }
        }
    }
    for(int i=2; i<=n; i++)fout<<a[1][i]<<' ';
}