Pagini recente » Cod sursa (job #2036970) | Cod sursa (job #1517273) | Cod sursa (job #1597719) | Cod sursa (job #691820) | Cod sursa (job #1228894)
#include <cstdio>
#include <vector>
using namespace std;
struct graf
{
int x,c;
}aux;
vector<graf>v[30010];
vector<graf>::iterator it;
int sol[30010],coada[30010],n,m,a,b,x,y,c,i,nod,nr;
char vaz[30010];
int main()
{
freopen("sate.in", "r", stdin);
freopen("sate.out", "w", stdout);
scanf("%d%d%d%d",&n,&m,&a,&b);
for(i=1;i<=n;i++)
{
scanf("%d%d%d",&x,&y,&c);
aux.x=y;
aux.c=c;
v[x].push_back(aux);
aux.x=x;
aux.c=-c;
v[y].push_back(aux);
}
coada[++nr]=a;
vaz[a]=1;
for(i=1;i<=nr;i++)
{
nod=coada[i];
if(nod==b)
{
printf("%d",sol[b]);
break;
}
for(it=v[nod].begin();it!=v[nod].end();it++)
{
aux=*it;
if(!vaz[aux.x])
{
vaz[aux.x]=1;
sol[aux.x]=sol[nod]+aux.c;
coada[++nr]=aux.x;
}
}
}
return 0;
}