Pagini recente » Cod sursa (job #1359187) | Cod sursa (job #1968094) | Cod sursa (job #2109000) | Cod sursa (job #1143365) | Cod sursa (job #3188313)
#include <bits/stdc++.h>
#define DIM 30001
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n, m, x, y, a, b, c;
int i, j;
int dp[DIM];
bool parcurs[DIM];
vector <pair <int, int> > G[DIM];
void bfs(){
queue <int> Q;
Q.push(x);
dp[x]=0;
while(!Q.empty()){
int nod=Q.front();
parcurs[nod]=1;
for(int i=0; i<G[nod].size(); i++){
int fiu=G[nod][i].first;
if(!parcurs[fiu]){
dp[fiu]=dp[nod]+G[nod][i].second;
Q.push(fiu);
}
}
Q.pop();
}
}
int main(){
fin>>n>>m>>x>>y;
for(i=1; i<=m; i++){
fin>>a>>b>>c;
G[a].push_back(make_pair(b, c));
G[b].push_back(make_pair(a, -c));
}
bfs();
fout<<dp[y];
}