Cod sursa(job #3298033)

Utilizator Victor5539Tanase Victor Victor5539 Data 26 mai 2025 13:06:07
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");

const int MAX=1e5;
int n,m,start,d[MAX+5],nod1,nod2,i;

vector <int> muchii[MAX+5];
queue <int> q;
int main()
{
    fin>>n>>m>>start;

    while (m)
    {
        fin>>nod1>>nod2;

        muchii[nod1].push_back(nod2);
        m--;
    }

    for (i=1; i<=n; i++)
        d[i]=1e9;

    d[start]=0;

    q.push(start);

    while (!q.empty())
    {
        nod1=q.front();
        q.pop();

        for (auto x: muchii[nod1])
            if (d[x]==1e9)
            {
                d[x]=d[nod1]+1;
                q.push(x);
            }
    }

    for (i=1; i<=n; i++)
        if (d[i]==1e9)
            fout<<-1<<" ";
    else
            fout<<d[i]<<" ";




    return 0;
}