Pagini recente » Cod sursa (job #1424355) | Cod sursa (job #77487) | Cod sursa (job #2237296) | Cod sursa (job #2146242) | Cod sursa (job #1106872)
#include<fstream>
using namespace std;
typedef struct lnod{
int vf,cost;
lnod *next;
}*Nod;
Nod a[30002];
bool viz[30002];
int Q[30002];
long long C[30002];
void add(int x,int y,int c){
Nod p = new lnod;
p->vf=y;
p->next=a[x];
p->cost=c;
a[x]=p;
}
int main(){
ifstream cin("sate.in");
ofstream cout("sate.out");
int N,M,X,Y,i,t,vf,c,nod;
cin>>N>>M>>X>>Y;
for(i=1;i<=M;++i){
cin>>t>>vf>>c;
add(t,vf,c);
add(vf,t,-c);
}
vf=1; Q[1]=X; viz[X]=1;
for(i=1;i<=vf;++i){
nod=Q[i];
for(Nod p=a[nod];p;p=p->next)
if(!viz[p->vf])
{
viz[p->vf]=1;
Q[++vf]=p->vf;
C[p->vf]=C[nod]+(p->cost);
}
if(viz[Y]){ cout<<C[Y]<<'\n'; return 0; }
}
return 0;
}