Cod sursa(job #2119178)

Utilizator FloareaCucura Floarea Ludovica Floarea Data 31 ianuarie 2018 19:15:37
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#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;
}