Pagini recente » Cod sursa (job #2433905) | Cod sursa (job #3309078) | Cod sursa (job #626710) | Cod sursa (job #3334361) | Cod sursa (job #3306077)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("sate.in");
ofstream cout("sate.out");
const int maxn=3e4+5;
vector<pair<int,int>>adj[maxn];
int n,m,x,y;
int sum=0;
int vis[maxn];
bool ok=0;
void dfs(int nod){
vis[nod]=1;
if(nod==y){
ok=1;
return;
}
for(auto next:adj[nod]){
if(!vis[next.first]){
if(nod<next.first) sum+=next.second;
else sum-=next.second;
dfs(next.first);
if(ok==1) return;
if(nod<next.first) sum-=next.second;
else sum+=next.second;
}
}
}
int main()
{
cin>>n>>m>>x>>y;
for(int i=1;i<=m;i++){
int a,b,d;
cin>>a>>b>>d;
adj[a].push_back({b,d});
adj[b].push_back({a,d});
}
dfs(x);
cout<<sum;
return 0;
}