Cod sursa(job #2718628)

Utilizator Codrut112Codrut Copas Codrut112 Data 8 martie 2021 22:11:11
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,m,x,i,a,b,st,dr,v[1000005],viz[1000005],start,nr;
vector<int>mat[1000005];
int main()
{
    f>>n>>m>>x;
 start=x;
    for(i=1; i<=m; i++)
    {
        f>>a>>b;
        mat[a].push_back(b);

    }
    st=1;
    dr=1;
    v[1]=x;
    viz[x]=1;
    v[x]=0;


    while(st<=dr)
    {
           x=v[st];
        for(i=0;i<mat[x].size();i++)
            if(viz[mat[x][i]]==0)
        {
            dr++;
            v[dr]=mat[x][i];
            viz[mat[x][i]]=viz[x]+1;;
        }
        st++;

    }


for(i=1;i<=n;i++)g<<viz[i]-1<<" ";

}