Pagini recente » Cod sursa (job #2870926) | Cod sursa (job #2073722) | Cod sursa (job #2003796) | Cod sursa (job #1526636) | Cod sursa (job #996722)
Cod sursa(job #996722)
#include<cstdio>
#include<vector>
using namespace std;
int i,x1,y1,c1,n,m,ap[2013],s[2013];
vector < pair < int , int > > v[2013];
void bf(int nod)
{
vector < pair < int , int > > :: iterator it;
ap[nod]=1;
for(it=v[nod].begin();it!=v[nod].end();it++)
if(ap[it->first]==0)
{
s[it->first]=s[nod]+it->second;
bf(it->first);
}
}
int main()
{
freopen("reconst.in","r",stdin);
freopen("reconst.out","w",stdout);
scanf("%d",&n);
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%d",&x1);
scanf("%d",&y1);
scanf("%d",&c1);
v[y1].push_back(make_pair(x1-1,-c1));
v[x1-1].push_back(make_pair(y1,c1));
}
bf(0);
for(i=1;i<=n;i++)
if(ap[i]==0) bf(i);
for(i=1;i<=n;i++)
printf("%d ",s[i]-s[i-1]);
return 0;
}