Pagini recente » Cod sursa (job #1869841) | Cod sursa (job #1041283) | Cod sursa (job #2553046) | Cod sursa (job #2456495) | Cod sursa (job #1549025)
#include <stdio.h>
#include <vector>
#include <utility>
#define nmax 2010
using namespace std;
int x,y,z,fr[nmax],i,m,n,sol[nmax];
vector < pair<int,int> > g[nmax];
void dfs(int x)
{
fr[x]=1;
for (int i=0;i<g[x].size();i++)
if (fr[g[x][i].first]==0) {
sol[g[x][i].first]=sol[x]+g[x][i].second;
dfs(g[x][i].first);
}
}
int main() {
freopen("reconst.in","r",stdin);
freopen("reconst.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=1;i<=m;i++) {
scanf("%d %d %d",&x,&y,&z);
g[x-1].push_back(make_pair(y,z));
g[y].push_back(make_pair(x-1,-z));
}
dfs(0);
for (i=1;i<=n;i++)
if (fr[i]==0) dfs(i);
for (i=1;i<=n;i++) printf("%d ",sol[i]-sol[i-1]);
return 0;
}