Pagini recente » Cod sursa (job #2792646) | Cod sursa (job #1933874) | Cod sursa (job #2834643) | Cod sursa (job #961249) | Cod sursa (job #1472769)
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
struct edge {
int to;
long long w;
edge(){}
edge(int a, long long b) {
to=a;
w=b;
}
};
int n,m;
vector <edge> v[2048];
long long partial_sums[2048];
bool used[2048];
void dfs(int node) {
int i;
used[node]=true;
for(i=0;i<v[node].size();i++) if(!used[v[node][i].to]) {
partial_sums[v[node][i].to]=partial_sums[node]+v[node][i].w;
dfs(v[node][i].to);
}
}
int main() {
//ios_base::sync_with_stdio(false);
//cin.tie(NULL);
//freopen("test.txt","r",stdin);
freopen("reconst.in","r",stdin);
freopen("reconst.out","w",stdout);
int i;
long long a,b,c;
scanf("%d %d", &n, &m);
for(i=1;i<=m;i++) {
scanf("%lld %lld %lld", &a, &b, &c);
v[a-1].push_back(edge(b,c));
v[b].push_back(edge(a-1,c*(-1)));
}
for(i=0;i<=n;i++) if(!used[i]) dfs(i);
for(i=1;i<=n;i++) {
//if(i>1) printf(" ");
printf("%lld ", partial_sums[i]-partial_sums[i-1]);
}
printf("\n");
return 0;
}