Pagini recente » Cod sursa (job #3201623) | Cod sursa (job #2151368) | Cod sursa (job #2435692) | Cod sursa (job #2959224) | Cod sursa (job #197658)
Cod sursa(job #197658)
#include <stdio.h>
#define NMAX 2010
long q,n,m,a[NMAX],b[NMAX],s[NMAX],nr=1,i,j,v[NMAX];
long maxim(long a,long b)
{
if (a>b) return a;
else return b;
}
long minim(long a,long b)
{
if (a>b) return b;
else return a;
}
int main()
{
freopen("reconst.in","rt",stdin);
freopen("reconst.out","wt",stdout);
scanf("%ld %ld", &n, &m);
for (i=1;i<=m;i++)
scanf("%ld %ld %ld", &a[i], &b[i], &s[i]);
i=1;
q=0;
while (i<=m)
{
j=i+1;
while (j<=m)
{
if (a[i]-a[j]==0 && b[i]-b[j]==-1 || b[i]-b[j]==1)
{
v[j]=maxim(s[i],s[j])-minim(s[i],s[j]);
q=1;
}
else
if (a[i]-a[j]==-1 && b[i]-b[j]==0)
{
v[i]=maxim(s[i],s[j])-minim(s[i],s[j]);
q=1;
}
if (q==1) break;
j++;
}
if (q==1) break;
i++;
}
while (nr<=m)
for (i=1;i<=m;i++)
if (b[i]-a[i]==1 && v[b[i]]!=0)
{
v[i]=s[i]-v[b[i]];
nr++;
}
for (i=1;i<=n;i++)
printf("%ld ",v[i]);
return 0;
}