Pagini recente » Cod sursa (job #2052821) | Cod sursa (job #1822333) | Cod sursa (job #2989068) | Cod sursa (job #54312) | Cod sursa (job #1649470)
#include <bits/stdc++.h>
#define Nmax 30010
#define Mmax 100100
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
long long s;
bool viz[Nmax];
struct muchie
{
int y;
long long c;
};
vector <muchie> M[Nmax];
int n,m,x,xf,yf;
void DFS(int R)
{viz[R]=1;
if(R==yf)
return;
for(int i=0; i<M[R].size(); i++)
if(M[R][i].y<R&&viz[M[R][i].y]==0)
{
s-=M[R][i].c;
DFS(M[R][i].y);
}
else
if(M[R][i].y>R&&viz[M[R][i].y]==0)
{
s+=M[R][i].c;
DFS(M[R][i].y);
}
}
int main()
{int l;
f>>n>>m>>xf>>yf;
muchie aux;
for(int i=1; i<=m; i++)
{
f>>x>>aux.y>>aux.c;
M[x].push_back(aux);
l=aux.y;
aux.y=x;
M[l].push_back(aux);
}
DFS(xf);
g<<s;
return 0;
}