Pagini recente » Cod sursa (job #796698) | Cod sursa (job #3314040) | Cod sursa (job #1744548) | Cod sursa (job #2830164) | Cod sursa (job #3313149)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("sate.in");
ofstream fout ("sate.out");
int n, m, x, y, s, suma;
struct nod{
int p, c;
};
nod a, b;
vector <nod> v[30005];
bool viz[30005];
void parcurg(int poz){
viz[poz] = 1;
//cout << poz << " ";
if(poz == y){
suma = s;
}
for(int i = 0; i < v[poz].size(); i++){
if(viz[v[poz][i].p] == 0){
if(v[poz][i].p < poz){
s -= v[poz][i].c;
parcurg(v[poz][i].p);
s += v[poz][i].c;
}
else{
s += v[poz][i].c;
parcurg(v[poz][i].p);
s -= v[poz][i].c;
}
}
}
}
int main()
{
fin >> n >> m >> x >> y;
if(x > y){
swap(x, y);
}
for(int i = 1; i <= m; i++){
fin >> b.p >> a.p >> a.c;
b.c = a.c;
v[b.p].push_back(a);
v[a.p].push_back(b);
}
parcurg(x);
fout << suma;
return 0;
}