Pagini recente » Cod sursa (job #46459) | Cod sursa (job #854982) | Cod sursa (job #2789792) | Cod sursa (job #3030384) | Cod sursa (job #2574060)
#include <fstream>
#include<vector>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
const int nmax=30000;
const int inf=1000000000;
struct str{
int x,y;
};
vector <str> g[nmax+1];
int v[nmax+1];
void dfs(int x){
for(int i=0;i<int(g[x].size());i++){
int xn=g[x][i].x;
int yn=g[x][i].y;
if(v[xn]==inf){
v[xn]=v[x]+yn;
dfs(xn);
}
}
}
int main()
{
int n,m,x,y;
fin>>n>>m>>x>>y;
for(int i=1;i<=m;i++){
int x,y,z;
fin>>x>>y>>z;
str aux;
aux.x=y;
aux.y=z;
g[x].push_back(aux);
aux.x=x;
aux.y=-z;
g[y].push_back(aux);
}
for(int i=1;i<=n;i++){
v[i]=inf;
}
v[x]=0;
dfs(x);
fout<<v[y];
return 0;
}