Pagini recente » Cod sursa (job #2420272) | Cod sursa (job #1454499) | Cod sursa (job #2941765) | Cod sursa (job #979127) | Cod sursa (job #3173276)
#include <bits/stdc++.h>
using namespace std;
struct vertex {
int from, to, cost;
} e[250001];
int n, m, dist[50001];
int main() {
ifstream cin("bellmanford.in");
ofstream cout("bellmanford.out");
cin >> n >> m;
for (int i = 2; i <= n; ++i) {
dist[i] = 1e9;
}
dist[1] = 0;
for (int i = 1; i <= m; ++i) {
cin >> e[i].from >> e[i].to >> e[i].cost;
}
for (int i = 1; i <= n - 1; ++i) {
for (int j = 1; j <= m; ++j) {
if (dist[e[j].from] + e[j].cost < dist[e[j].to]) {
dist[e[j].to] = dist[e[j].from] + e[j].cost;
}
}
}
for (int j = 1; j <= m; ++j) {
if (dist[e[j].from] + e[j].cost < dist[e[j].to]) {
cout << "Ciclu negativ!";
return 0;
}
}
for (int i = 2; i <= n; ++i) {
cout << dist[i] << " ";
}
}