Pagini recente » Cod sursa (job #5548) | Cod sursa (job #466210) | Cod sursa (job #1515873) | Cod sursa (job #1627373) | Cod sursa (job #1228886)
#include <cstdio>
#include <vector>
using namespace std;
vector<pair<int,int> >v[30010];
vector<pair<int,int> >::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);
v[x].push_back(make_pair(y,c));
v[y].push_back(make_pair(x,-c));
}
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++)
if(!vaz[it->first])
{
vaz[it->first]=1;
sol[it->first]=sol[nod]+it->second;
coada[++nr]=it->first;
}
}
return 0;
}