Pagini recente » Cod sursa (job #1709274) | Cod sursa (job #728061) | Cod sursa (job #2847258) | Cod sursa (job #370770) | Cod sursa (job #1080987)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
typedef struct muchie{int x; int val;};
muchie aux;
vector<muchie> v[30005];
queue<int> q;
int dist[30005], n, m, x, y, nod1, nod2, d, i;
int main()
{
ifstream fin("sate.in");
ofstream fout("sate.out");
fin>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{
fin>>nod1>>nod2>>d;
aux.x=nod2;
aux.val = d;
v[nod1].push_back(aux);
aux.x=nod1;
aux.val = -d;
v[nod2].push_back(aux);
}
q.push(x);
while(!q.empty())
{
int nr=q.front(), l=v[q.front()].size();
q.pop();
for(i=0;i<l;i++)
{
if( dist[v[nr][i].x] == 0 )
{
q.push(v[nr][i].x);
dist[v[nr][i].x] = v[nr][i].val + dist[nr];
if( dist[y]!=0 )
{
fout<<dist[y];
return 0;
}
}
}
}
fout<<dist[y];
return 0;
}