Pagini recente » Cod sursa (job #343066) | Cod sursa (job #2134534) | Cod sursa (job #2790436) | Cod sursa (job #1781695) | Cod sursa (job #2746935)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
long long s=0,n,m,x,y,nr,maxi=-609,benis,a,b,b1,b2,visitat[100001];
struct pc
{
int nod;
long long dist;
} cd;
vector<pc>v[100001];
vector<int>bn;
void filix(int x,int dest,int nmr)
{
visitat[x]=1;
if(x==dest)
s=nmr;
for(int i=0; i<v[x].size(); i++)
{
if(visitat[v[x][i].nod]==0)
{
nmr+=v[x][i].dist;
filix(v[x][i].nod,dest,nmr);
nmr-=v[x][i].dist;
}
}
}
int main()
{
ifstream in("sate.in");
ofstream out("sate.out");
in>>n>>m>>x>>y;
for(int i=1; i<=m; i++)
{
in>>a>>b>>nr;
cd.nod=a;
cd.dist=-nr;
v[b].push_back(cd);
cd.nod=b;
cd.dist=nr;
v[a].push_back(cd);
}
filix(x,y,0);
out<<s<<' ';
return 0;
}
//adiacenta