Cod sursa(job #3155944)

Utilizator CastielGurita Adrian Castiel Data 10 octombrie 2023 11:47:20
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.22 kb
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
vector <int> L[100002];
int n,m,mat[102][102],cnt,a,b,k,vmin=102,s,p,u,c[100002],d[100002],vecin,nod;
bool ok,euler[102];
int main()
{
    fin>>n>>m>>s;
    for(int i=1;i<=m;i++)
    {
        fin>>a>>b;
        L[a].push_back(b);
    }
    nod=s;
    p=1;
    u=1;
    d[s]=1;
    c[1]=s;
    while(p<=u)
    {
        nod=c[p];
        for(int i=0;i<L[nod].size();i++)
        {
            vecin=L[nod][i];
            if(d[vecin]==0)
            {
                u++;
                d[vecin]=d[nod]+1;
                c[u]=vecin;
            }
        }
        p++;
    }
    for(int i=1;i<=n;i++)
    {
        fout<<d[i]-1<<" ";
    }
    fin.close();
    fout.close();
    return 0;
}