Pagini recente » Cod sursa (job #23453) | Cod sursa (job #577609) | Cod sursa (job #2894694) | Cod sursa (job #1451968) | Cod sursa (job #2434307)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n,m,x,y;
bool b[30002],ex;
vector <int> v[30002];
vector <int> dst[30002];
void dfs(int xc,int d) {
if( xc == y ) {
fout<<d<<"\n";
exit(0);
}
for(int i = 0; i < v[xc].size(); i ++ ) {
if( !b[v[xc][i]] ) {
b[v[xc][i]] = true;
dfs(v[xc][i],d+dst[xc][i]);
}
}
}
int main() {
fin>>n>>m>>x>>y;
int ax,ax2,dx;
for(int i = 0; i < m; i ++ ) {
fin>>ax>>ax2>>dx;
dst[ax].push_back(dx);
dst[ax2].push_back(-dx);
v[ax].push_back(ax2);
v[ax2].push_back(ax);
}
b[x]=true;
dfs(x,0);
}