Pagini recente » Cod sursa (job #2532482) | Cod sursa (job #2367489) | Cod sursa (job #519719) | Cod sursa (job #2547183) | Cod sursa (job #1840587)
#include<fstream>
#include<vector>
#include<bitset>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
vector< pair <int,int> >L[30005];
int d[30005],v[30005];
bitset<30005>sol;
int x,y,n,m,a,b,q,i,p,u,dsol,vecin,nod;
int main(){
fin>>n>>m>>x>>y;
for(i=1;i<=m;i++){
fin>>a>>b>>q;
L[a].push_back(make_pair(b,q));
L[b].push_back(make_pair(a,-q));
}
p=1;
u=1;
v[1]=x;
sol[1]=x;
d[x]=0;
while(p<=u){
nod=v[p];
for(i=0;i<L[nod].size();i++){
vecin=L[nod][i].first;
dsol=L[nod][i].second;
if(sol[vecin]==0){
u++;
v[u]=vecin;
sol[vecin]=1;
d[vecin]=d[nod]+dsol;
if(vecin==y){
fout<<d[vecin];
return 0;
}
}
}
p++;
}
return 0;
}