Pagini recente » Cod sursa (job #1315729) | Cod sursa (job #1633188) | Cod sursa (job #1339030) | Cod sursa (job #1826797) | Cod sursa (job #3322416)
#include <bits/stdc++.h>
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
const int NMAX = 1e4;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
freopen("bellmanford.in", "r", stdin);
freopen("bellmanford.out", "w", stdout);
#endif
int n, m; cin >> n >> m;
vector<vector<pair<int, int>>> v(n + 1);
vector<int> dist(n + 1, INF);
queue<int> q;
for (int i = 0; i < m; i++) {
int a, b, c; cin >> a >> b >> c;
v[a].push_back({b, c});
}
dist[1] = 0;
q.push(1);
int N = n;
while (q.size() && N--) {
int a = q.front();
q.pop();
for (auto i : v[a]) {
if (dist[a] + i.second < dist[i.first]) {
dist[i.first] = dist[a] + i.second;
q.push(i.first);
}
}
}
if (q.size()) {
cout << "Ciclu negativ!";
}
else {
for (int i = 2; i <= n; i++) {
cout << dist[i] << ' ';
}
}
return 0;
}