Pagini recente » Cod sursa (job #2421030) | Cod sursa (job #1319088) | Cod sursa (job #1543434) | Cod sursa (job #1360323) | Cod sursa (job #2722669)
#include <bits/stdc++.h>
#define NMAX 30010
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n, m, start, finish;
vector <pair<int, int>> adj[NMAX];
queue <pair<int, int>> q;
int dist[NMAX];
void read(){
fin>>n>>m>>start>>finish;
int x, y, c;
while(m--){
fin>>x>>y>>c;
adj[x].push_back({y, c});
adj[y].push_back({x, -c});
}
}
int main(){
read();
q.push({start, 0});
while(!q.empty()){
int nod = q.front().first;
int cost = q.front().second;
q.pop();
if(nod==finish){
fout<<cost;
return 0;
}
for(auto vecin: adj[nod]){
q.push({vecin.first, cost+vecin.second});
}
}
return 0;
}