Pagini recente » Cod sursa (job #30445) | Cod sursa (job #783568) | salsa | Cod sursa (job #202036) | Cod sursa (job #1085891)
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
int n, m, x, y, a, b, c, d[30001], i, xf;
bool v[30001];
struct coc
{
int b, cost;
};
vector<coc> gr[30001];
queue<int> coada;
int main()
{
ifstream f("sate.in");
ofstream g("sate.out");
f>>n>>m>>x>>y;
for(i=1; i<=m; i++)
{
f>>a>>b>>c;
coc A;
A.b=b;
A.cost=c;
gr[a].push_back(A);
A.b=a;
A.cost=-c;
gr[b].push_back(A);
}
coada.push(x);
d[x]=0;
v[x]=1;
while(!coada.empty())
{
xf=coada.front(); coada.pop();
for(i=0; i<gr[xf].size(); i++)
{
if(!v[gr[xf][i].b])
{
d[gr[xf][i].b]=d[xf]+gr[xf][i].cost;
coada.push(gr[xf][i].b);
v[gr[xf][i].b]=1;
}
}
}
g<<d[y];
}