Pagini recente » Cod sursa (job #2673626) | Cod sursa (job #1939785) | Cod sursa (job #1502909) | Cod sursa (job #137191) | Cod sursa (job #2119178)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
vector<int>a[30001];
queue<int>q;
int viz[30001];
int cost[3001][3001];
int rez=0;
void bfs(int nod, int y)
{
while(nod!=y)
{
viz[nod]=1;
q.push(nod);
while (!q.empty())
{
nod=q.front();
for (int i=0; i<=a[nod].size();i++)
if(viz[a[nod][i]]==0)
{
a[nod][i]==1;
rez=rez+cost[nod][i];
q.push(a[nod][i]);
}
q.pop();
}
}
fout<<rez;
}
int main()
{ int n, m, x, y, c, b, dist;
fin>>n>>m;
fin>>x>>y;
for(int i=1;i<=m;++i){
fin>>c>>b>>dist;
a[c].push_back(b);
a[b].push_back(c);
cost[c][b]=dist;
cost[b][c]=dist;
}
bfs(x,y);
return 0;
}