Pagini recente » Cod sursa (job #126428) | Cod sursa (job #2927367) | Cod sursa (job #205782) | Cod sursa (job #476933) | Cod sursa (job #885757)
Cod sursa(job #885757)
#include <fstream>
#include <vector>
using namespace std;
ifstream d("sate.in");
ofstream o("sate.out");
int i,j,k,m,n,t,v[30005],x,y,b,c,cost,costf;
vector <int> a[30005],pc,co[30005];
vector <int>::iterator it,itc;
int main()
{
d>>n>>m>>x>>y;
for (i=1;i<=m;i++)
{
d>>b>>c;
a[b].push_back(c);
a[c].push_back(b);
d>>cost;
co[b].push_back(cost);
co[c].push_back(-cost);
};
//for (i=1;i<=n;i++) v[i]=-1;
pc.push_back(x);
v[x]=-1;
while (v[y]==0)
{
b=pc.back();
pc.pop_back();
for (it=a[b].begin(), itc=co[b].begin(); it!=a[b].end(); ++it, ++itc)
if (v[*it]==0)
{
v[*it]=v[b]+*itc;
pc.push_back(*it);
};
};
o<<v[y]+1;
}