Pagini recente » Cod sursa (job #3352335) | Monitorul de evaluare | Cod sursa (job #1296488) | Cod sursa (job #1772055) | Cod sursa (job #3342876)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout ("sate.out");
int n,m,x,y;
int ad[301][301],coada[100001],viz[100001];
int dr[100001];
vector<int>gr[100001];
int main(){
fin>>n>>m>>x>>y;
for(int i=1;i<=m;i++){
int a,b,val;
fin>>a>>b>>val;
gr[a].push_back(b);
gr[b].push_back(a);
ad[a][b]=val;
ad[b][a]=-val;
}
coada[1]=x;
int p=1;
int u=1;
viz[x]=1;
while(p<=u){
int nod=coada[p++];
if(nod==y){
break;
}
for(int i=0;i<gr[nod].size();i++){
int vecin=gr[nod][i];
if(viz[vecin]==0){
coada[++u]=vecin;
viz[vecin]=1;
dr[vecin]=ad[nod][vecin]+dr[nod];
}
}
}
fout<<dr[y];
}