Pagini recente » Cod sursa (job #127010) | Cod sursa (job #2236781) | Cod sursa (job #1922893) | Cod sursa (job #2291894) | Cod sursa (job #782263)
Cod sursa(job #782263)
#include<iostream>
#include<fstream>
#include<vector>
const int maxx=30002;
using namespace std;
int n,m,start,finish,i,a,b,c;
vector <pair<int,int> > x[maxx];
int main()
{
freopen("sate.in","r",stdin);
freopen("sate.out","w",stdout);
scanf("%d %d %d %d\n",&n,&m,&start,&finish);
for(i=1;i<=m;i++)
{
scanf("%d %d %d\n",&a,&b,&c);
x[a].push_back(make_pair(b,c));
x[b].push_back(make_pair(a,c));
}
int nod=start,s=0;
while(nod!=finish)
{
if(nod>x[nod][0].second)
s-=x[nod][0].second;
else
s+=x[nod][0].second;
for(i=0;i<x[x[nod][0].second].size();i++)
if(x[x[nod][0].first][i].first==nod)
x[x[nod][0].first].erase(x[x[nod][0].first].begin()+i);
nod=x[nod][0].first;
}
printf("%d",s);
return 0;
}