Pagini recente » Borderou de evaluare (job #2018514) | Cod sursa (job #2234017) | Arhiva Educationala | Borderou de evaluare (job #1566682) | Cod sursa (job #2357723)
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n,m,x,y,i,dist,stg,s,xi,yi;
int d[30009];
vector <pair <int,int> >v[30009];
void dfs(int nod)
{
if(nod==yi)
{
fout<<dist;
stg=1;
return;
}
d[nod]=1;
for(int i=0;i<v[nod].size()&&stg==0;i++)
{
if(!d[v[nod][i].second])
{
dist+=v[nod][i].first;
dfs(v[nod][i].second);
dist-=v[nod][i].first;
}
}
}
int main()
{
fin>>n>>m>>xi>>yi;
for(i=1;i<=m;i++)
{
fin>>x>>y>>s;
v[x].pb(mp(s,y));
v[y].pb(mp(-s,x));
}
dfs(xi);
return 0;
}