Cod sursa(job #2935566)

Utilizator TraianQTraianQ TraianQ Data 6 noiembrie 2022 22:41:38
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <vector>
using namespace std;
vector <int> V[200005];
int f[200005],X[200005],D[200005];
int main()
{
    ifstream cin("bfs.in");
    ofstream cout("bfs.out");
    int n,m,s,a,b;
    cin>>n>>m>>s;
    for(int i=1;i<=m;i++)
    {
        cin>>a>>b;
        if(a!=b)
            V[a].push_back(b);
    }
    int st=1,dr=1;
    X[1]=s;
    D[s]=1;
    while(st<=dr)
    {
        for(auto x:V[X[st]])
        {
            if(D[x]==0)
            {
                dr++;
                X[dr]=x;
                D[x]=D[X[st]]+1;
            }
        }
        st++;
    }
    for(int i=1;i<=n;i++)
        cout<<D[i]-1<<" ";
    return 0;
}