Pagini recente » Cod sursa (job #2456371) | Cod sursa (job #1259029) | Cod sursa (job #2377148) | Cod sursa (job #1845935) | Cod sursa (job #2663348)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
deque < pair < int, int > > graf[30005];
deque < int> coada;
bool vizitat[30005];
int n,m,X,y,s;
void citire()
{
fin>>n>>m>>X>>y;
for(int i=1; i<=m; i++)
{
int a,b,d;
fin>>a>>b>>d;
graf[a].push_back(make_pair(b,d));
graf[b].push_back(make_pair(a,-d));
}
}
void drum(int x)
{
if(x==y)
{
fout<<s;
}
else
{
for(unsigned int i=0; i<graf[x].size(); i++)
{
if(vizitat[graf[x][i].first]==0)
{
vizitat[graf[x][i].first]=1;
s=graf[x][i].second+s;
coada.push_back(graf[x][i].first);
drum(graf[x][i].first);
coada.pop_back();
s=s-graf[x][i].second;
}
}
}
}
int main()
{
citire();
drum(X);
}