Cod sursa(job #2667874)

Utilizator maria.ianiIani Maria maria.iani Data 4 noiembrie 2020 00:08:08
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
vector<int> adj[100001];
queue<int> coada;
int vizitat[100001];
void BFS(int nod)
    {
        int nrvizitat=0;
        vizitat[nod]=true;
        coada.push(nod);

        while (!coada.empty())
        {
            int nodcurent=coada.front();
            for (auto vecin: adj[nodcurent])
            {
                if (!vizitat[vecin])
                {
                    vizitat[vecin]=vizitat[nodcurent]+1;
                    coada.push(vecin);
                }
            }
            coada.pop();
        }
    }
int main()
{
    int N,M,S,i,x,y;
    f>>N>>M>>S;
    for (i=0; i<=M; i++)
        {
            f>>x>>y;
            adj[x].push_back(y);
        }
    BFS(S);

    for (i=1;i<=N;i++)
        g<<vizitat[i]-1<<" ";
}