Pagini recente » Cod sursa (job #1146574) | Cod sursa (job #1661311) | Cod sursa (job #21960) | Cod sursa (job #2443420) | Cod sursa (job #1048821)
#include<vector>
#include<cstdio>
using namespace std;
struct mazi{int v,cost;};
vector<mazi> a[30001];
int viz[30001],y;
void bfs(int p){
if (viz[y]==0){
int i;
for(i=0;i<a[p].size();i++)
if (viz[a[p][i].v]==0){
viz[a[p][i].v]=viz[p]+a[p][i].cost;
bfs(a[p][i].v);
}
}
}
int main(){
freopen ("sate.in","r",stdin);
freopen ("sate.out","w",stdout);
int n,m,i,x,j,k,d;
mazi l;
scanf ("%d%d%d%d",&n,&m,&x,&y);
for(i=1;i<=m;i++){
scanf ("%d%d%d",&j,&k,&d);
l.v=k;
l.cost=d;
a[j].push_back(l);
l.v=j;
l.cost=-d;
a[k].push_back(l);
}
bfs(x);
printf ("%d",viz[y]);
return 0;
}