Pagini recente » Cod sursa (job #691610) | Cod sursa (job #70109) | Cod sursa (job #1075018) | Cod sursa (job #2311739) | Cod sursa (job #3135217)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
const int NMAX = 30005;
bool viz[NMAX + 5];
int dist[NMAX + 5];
vector<pair<int, int>> adj[NMAX + 5];
void bfs(int start){
viz[start] = true;
queue<int> q;
q.push(start);
while(!q.empty()){
int nod = q.front();
q.pop();
viz[nod] = true;
for(auto it : adj[nod]){
if(!viz[it.first]){
dist[it.first] = dist[nod] + it.second;
q.push(it.first);
}
}
}
}
int main(){
int n, m, start, end;
fin>>n>>m>>start>>end;
for(int i = 1; i <= m; i++){
int n1, n2, cost;
fin>>n1>>n2>>cost;
adj[n1].push_back({n2, cost});
adj[n2].push_back({n1, -cost});
}
bfs(start);
fout<<dist[end]<<"\n";
return 0;
}