Pagini recente » Cod sursa (job #3255431) | Cod sursa (job #3001633) | Cod sursa (job #817584) | Cod sursa (job #2932260) | Cod sursa (job #1811835)
#include <iostream>
#include <fstream>
#include <cstring>
#include <vector>
#include <queue>
using namespace std;
int n,m,x,y;
vector <pair <int,int> > v[30005];
int use[30005];
queue<int> q;
void citire()
{
ifstream fin("sate.in");
fin>>n>>m>>x>>y;
for(int i=1;i<=m;i++)
{
int j,k,l;
fin>>j>>k>>l;
v[j].push_back(make_pair(k,l));
v[k].push_back(make_pair(j,l));
}
}
void BFS()
{
int nod,vecin;
memset(use,-1,sizeof(use));
use[x]=0;
q.push(x);
while(!q.empty())
{
nod=q.front();q.pop();
for(int i=0;i<v[nod].size();i++)
{
vecin=v[nod][i].first;
if(use[vecin]==-1)
{
use[vecin]=use[nod]+v[nod][i].second;
q.push(vecin);
}
}
}
ofstream fout("sate.out");
fout<<use[y];
}
int main()
{
citire();
BFS();
}