Pagini recente » Cod sursa (job #2790743) | Cod sursa (job #791567) | Cod sursa (job #1100026) | Cod sursa (job #758148) | Cod sursa (job #2693149)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
struct muchie
{
int x;
int y;
int val;
};
int d[50005];
vector <muchie> graph;
int main()
{
ifstream f("bellmanford.in");
ofstream g("bellmanford.out");
int n, m;
f>>n>>m;
for(int i=0; i<m; i++)
{
muchie a;
f>>a.x>>a.y>>a.val;
graph.push_back(a);
}
for(int i=2; i<=n; i++)
d[i] = 10001;
for(int i=0; i<n-1; i++)
for(auto j : graph)
{
if(d[j.x] + j.val < d[j.y])
d[j.y] = d[j.x] + j.val;
}
int ok = 0;
for(auto j : graph)
{
if(d[j.x] + j.val < d[j.y])
{
g<<"Ciclu negativ";
//return 0;
}
}
for(int i=2; i<=n; i++)
g<<d[i]<<" ";
return 0;
}