Cod sursa(job #3169768)

Utilizator Bolfa_DBolfa Diana Bolfa_D Data 15 noiembrie 2023 21:53:19
Problema BFS - Parcurgere in latime Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,s,a,b;
vector <int> v[10100];
int mat[10100];
int main()
{
    fin>>n>>m>>s;

    for(int i=1;i<=m;++i)
    {
        fin>>a>>b;
        v[a].push_back(b);
    }

    deque<int> q;
    q.push_back(s);


    mat[s]=0;
    int x,y;
    while(q.empty()==false)
    {
        x=q.front();
        q.pop_front();

        for(int i=0;i<v[x].size();++i)
        {
            y=v[x][i];
            if(mat[y]==0 && y!=s)
            {
                mat[y]=mat[x]+1;
                q.push_back(y);
            }
        }
    }


    for(int i=1;i<n;++i)
        if(mat[i]==0 && i!=s)
            mat[i]=-1;


    for(int i=1;i<=n;++i)
        fout<<mat[i]<<" ";

    return 0;
}