Pagini recente » Cod sursa (job #1752274) | Cod sursa (job #2561889) | Cod sursa (job #2977068) | Cod sursa (job #789828) | Cod sursa (job #3228618)
#include <fstream>
#include <vector>
#include <queue>
#include <bitset>
using namespace std;
ifstream fin ("sate.in");
ofstream fout ("sate.out");
int n,m,vecin,a,b,i,nod,x,y,val,dp[30001];
vector <pair <int,int>> v[30001];
queue <int> q;
bitset <30001> viz;
int main ()
{
fin>>n>>m>>a>>b;
for (i=1; i<=m; i++)
{
fin>>x>>y>>val;
if (x>y)
swap (x,y);
v[x].push_back (make_pair (y,val));
v[y].push_back (make_pair (x,-val));
}
q.push (a);
viz[a]=1;
while (!q.empty ())
{
nod=q.front ();
q.pop ();
for (i=0; i<v[nod].size (); i++)
{
vecin=v[nod][i].first;
if (!viz[vecin])
{
dp[vecin]=dp[nod]+v[nod][i].second;
viz[vecin]=1;
q.push (vecin);
}
}
}
fout<<dp[b];
return 0;
}