Pagini recente » Cod sursa (job #1133724) | Cod sursa (job #1320174) | Cod sursa (job #1157082) | Cod sursa (job #827925) | Cod sursa (job #1318445)
#include <fstream>
#include <vector>
#include <utility>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
vector < pair<int,int> > v[30001];
vector <int> T;
int n,m,x,y,i,a,b,d,dist,l;
void bfs(int nd)
{
int i,j;
bool k;
if(nd==y)
g<<dist;
else
for(i=0;i<v[nd].size();i++)
{
k=true;
for(j=0;j<T.size();j++)
if(T[j]==v[nd][i].first)
k=false;
if(k==true)
{
T.push_back(nd);
dist+=v[nd][i].second;
bfs(v[nd][i].first);
}
}
}
int main()
{
f>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{
f>>a>>b>>d;
v[a].push_back(make_pair(b,d));
v[b].push_back(make_pair(a,-d));
}
bfs(x);
return 0;
}