Cod sursa(job #2423185)

Utilizator AlexBlagescuBlagescu Alex George AlexBlagescu Data 20 mai 2019 21:35:35
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("BFS.in");
ofstream g("BFS.out");
int main()
{
    int sursa, noduri, muchii;
	f >> noduri >> muchii >> sursa;

	vector <vector <int > >	L(noduri+1);
	vector < int > Viz(noduri+1,0);
	queue <int> Q;

	for (int i = 1; i <= muchii; i++) {
		int x, y;
		f >> x >> y;
		L[x].push_back(y);
	}

	Q.push(sursa);
	while (!Q.empty()) {
		int nod = Q.front();
		Q.pop();
		for (auto j : L[nod]) {
			if (Viz[j] == 0 && j!=sursa)
            {
                Q.push(j);
                Viz[j]=Viz[nod]+1;
            }
		}
	}
	for (int i=1;i<=noduri;i++)
    {
        if (Viz[i]==0 && i!=sursa) g<<"-1"<<' ';
        else g<<Viz[i]<<' ';
    }
	return 0;
}