Pagini recente » Cod sursa (job #386143) | Cod sursa (job #1890492) | Cod sursa (job #2388515) | Cod sursa (job #625563) | Cod sursa (job #1400720)
#include<fstream>
#include<vector>
using namespace std;
typedef int var;
ifstream fin("sate.in");
ofstream fout("sate.out");
#define MAXN 100002
struct Edge {
var n, c;
Edge(var a, var b) {
n = a;
c = b;
}
};
var n;
var D[MAXN];
bool VIZ[MAXN];
vector<Edge> G[MAXN];
void dfs(var node) {
VIZ[node] = 1;
for(auto e : G[node]) {
var vec = e.n;
if(!VIZ[vec]) {
D[vec] = D[node] + e.c;
dfs(vec);
}
}
}
int main() {
var m, i, j, a, b, c;
fin>>n>>m>>i>>j;
while(m--) {
fin>>a>>b>>c;
G[a].push_back(Edge(b, c));
G[b].push_back(Edge(a, -c));
}
dfs(i);
fout<<D[j];
return 0;
}