Cod sursa(job #1467644)

Utilizator cojocarugabiReality cojocarugabi Data 3 august 2015 20:18:33
Problema Algoritmul Bellman-Ford Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
# include <bits/stdc++.h>
using namespace std;
ifstream fi("bellmanford.in");
ofstream fo("bellmanford.out");
int a[255555];
int b[255555];
int c[255555];
int d[50005];
int main(void)
{
    int n,m;
    fi>>n>>m;
    for (int i = 1;i <= m;++i)
        fi>>a[i]>>b[i]>>c[i];
    for (int i = 2;i <= n;++i) d[i] = 2e9;
    for (int k = 1;k <= n;++k)
    {
        for (int i = 1;i <= m;++i)
            if (d[b[i]] > d[a[i]] + c[i])
                d[b[i]] = d[a[i]] + c[i];
    }
    for (int i = 1;i <= m;++i)
        if (d[b[i]] > d[a[i]] + c[i])
            return fo << "Ciclu negativ!\n",0;
    for (int i = 2;i <= n;++i) fo << d[i] << ' ';
    fo << '\n';
    return 0;
}