Pagini recente » Cod sursa (job #2776696) | Cod sursa (job #2547319) | Cod sursa (job #187309) | Cod sursa (job #2243291) | Cod sursa (job #2447116)
/*
░░░░░░░░░░░░░░░░▄▄█▀▀██▄▄░░░░░░░
░░░░░░░░░░░░░▄█▀▀░░░░░░░▀█░░░░░░
░░░░░░░░░░░▄▀░░░░░░░░░░░░░█░░░░░
░░░░░░░░░▄█░░░░░░░░░░░░░░░█░░░░░
░░░░░░░██▀░░░░░░░▄▄▄░░▄░█▄█▄░░░░
░░░░░▄▀░░░░░░░░░░████░█▄██░▀▄░░░
░░░░█▀░░░░░░░░▄▄██▀░░█████░██░░░
░░░█▀░░░░░░░░░▀█░▀█▀█▀▀▄██▄█▀░░░
░░░██░░░░░░░░░░█░░█░█░░▀▀▄█▀░░░░
░░░░█░░░░░█░░░▀█░░░░▄░░░░░▄█░░░░
░░░░▀█░░░░███▄░█░░░░░░▄▄▄▄█▀█▄░░
░░░░░▀██░░█▄▀▀██░░░░░░░░▄▄█░░▀▄░
░░░░░░▀▀█▄░▀▄▄░▄░░░░░░░███▀░░▄██
░░░░░░░░░▀▀▀███▀█▄░░░░░█▀░▀░░░▀█
░░░░░░░░░░░░▄▀░░░▀█▄░░░░░▄▄░░▄█▀
░░░▄▄▄▀▀▀▀▀█▀░░░░░█▄▀▄▄▄▄▄▄█▀▀░░
░▄█░░░▄██▀░░░░░░░░░█▄░░░░░░░░░░░
█▀▀░▄█░░░░░░░░░░░░░░▀▀█▄░░░░░░░░
█░░░█░░░░░░░░░░░░░░░░░░█▄░░░░░░░
*/
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define dbg(x) cout << #x << '=' << x << '\n';
#define ll long long
#define x first
#define y second
#define pi pair <int, int>
#define pii pair<pair <int, int>, int>
#define vi vector <int>
const ll mod = 1000000007;
const ll nmax=1000003;
//#define int ll
int n, m, d[50001];
vector<pi> g[50001];
vector<pii> edg;
int32_t main(){
ios_base :: sync_with_stdio(0); cin.tie(); cout.tie();
ifstream cin("bellmanford.in");
ofstream cout("bellmanford.out");
cin>>n>>m;
for(int i=1, x, y, c; i<=m; i++){
cin>>x>>y>>c;
g[x].pb({y, c});
edg.pb({{x, y}, c});
}
vi prev;
set<int> s;
prev.pb(1);
for(int i=2; i<=n; i++) d[i]=1e9;
for(int i=1; i<=n; i++){
for(int x : prev){
for(pi xd: g[x]){
int y=xd.x, c=xd.y, lol=d[y];
d[y]=min(d[y], d[x]+c);
if(i==n && lol!=d[y]) return cout<<"Ciclu negativ!", 0;
if(lol!=d[y]) s.insert(y);
}
}
prev.clear();
for(int nod: s) prev.pb(nod);
s.clear();
}
for(int i=2; i<=n; i++) cout<<d[i]<<" ";
}