Pagini recente » Cod sursa (job #3330581) | Cod sursa (job #1782262) | Cod sursa (job #1744565) | Cod sursa (job #1789705) | Cod sursa (job #3302832)
#include <fstream>
#include <vector>
using namespace std;
struct elem{
int y, c;
};
vector <elem> v[30005];
int f[30005];
void dfs( int x ){
int i, y, c;
for( i = 0; i < v[x].size(); i++ ){
y = v[x][i].y;
c = v[x][i].c;
if( f[y] == 0 ){
f[y] = f[x] + c;
dfs( y );
}
}
}
int main(){
int n, m, a, b, i, x, y, c;
ifstream fin( "sate.in" );
ofstream fout( "sate.out" );
fin >> n >> m >> a >> b;
for( i = 0; i < m; i++ ){
fin >> x >> y >> c;
if( x > y ){
swap( x, y );
}
v[x].push_back( { y, c } );
v[y].push_back( { x, -c } );
}
f[a] = 1;
dfs( a );
fout << f[b] - 1;
return 0;
}