Mai intai trebuie sa te autentifici.
Cod sursa(job #353365)
| Utilizator | Data | 4 octombrie 2009 21:13:06 | |
|---|---|---|---|
| Problema | Sate | Scor | 45 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include<fstream.h>
ifstream fin("sate.in");
ofstream fout("sate.out");
int n,m,x,y,c[30001];
long d[30001];
int a[10001][10001];
void parcurgere()
{int p,u,aux,i;
c[1]=x;
d[x]=0;
p=u=1;
while(p<=u)
{aux=c[p];
p++;
for(i=1;i<=n;i++)
if(a[aux][i]!=0 && d[i]==0)
{u++;
c[u]=i;
if(i>=aux) d[i]=a[aux][i]+d[aux];
else d[i]=d[aux]-a[aux][i];
}
}
fout<<d[y];
}
int main()
{fin>>n>>m>>x>>y;
int xx,yy,dd;
for(int i=1;i<=m;i++)
{fin>>xx>>yy>>dd;
a[xx][yy]=dd;
a[yy][xx]=dd;
}
parcurgere();
fin.close();
fout.close();
return 0;
}
