Cod sursa(job #482680)
| Utilizator | Data | 4 septembrie 2010 15:49:18 | |
|---|---|---|---|
| Problema | Sate | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <cstdio>
#define M 100100
#define N 30003
int sol[N],x[M],y[M],c[M];
int main()
{
int n,m,a,b,i;
freopen("sate.in","r",stdin);
freopen("sate.out","w",stdout);
scanf("%d %d %d %d",&n,&m,&a,&b);
sol[a]=1;
for (i=1;i<=m;++i) scanf("%d %d %d",&x[i],&y[i],&c[i]);
while (!sol[b])
{
for (i=1;i<=m;++i)
{
if (sol[x[i]] && !sol[y[i]])
sol[y[i]]=sol[x[i]]+c[i]; else
if (!sol[x[i]] && sol[y[i]])
sol[x[i]]=sol[y[i]]-c[i];
}
}
printf("%d",sol[b]-1);
return 0;}
