Pagini recente » Cod sursa (job #163259) | Cod sursa (job #1568089) | Cod sursa (job #2857552) | Cod sursa (job #1622434) | Cod sursa (job #851537)
Cod sursa(job #851537)
#include <fstream>
#include <vector>
#define NMax 30010
using namespace std;
const char IN[]="sate.in",OUT[]="sate.out";
ifstream fin(IN);
ofstream fout(OUT);
int N,M,X,Y;
int D[NMax];
bool b[NMax];
vector<pair<int,int> > v[NMax];
void dfs(int x)
{
b[x]=true;
for (int i=0;i<(int)v[x].size();++i) if (!b[v[x][i].first])
D[v[x][i].first]=D[x]+v[x][i].second,
dfs(v[x][i].first);
}
int main()
{
int i,x,y,c;
fin>>N>>M>>X>>Y;
for (i=1;i<=M;++i)
fin>>x>>y>>c,
v[x].push_back(make_pair(y,c)),
v[y].push_back(make_pair(x,-c));
fin.close();
dfs(X);
fout<<D[Y]<<"\n";
fout.close();
return 0;
}