Cod sursa(job #3295168)

Utilizator 11amIonescu-Vornicu Marta 11am Data 2 mai 2025 22:23:03
Problema BFS - Parcurgere in latime Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
//Lookin' like a true survivor,
//Feelin' like a little kid
#include <bits/stdc++.h>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n, m, s, x, y, v[100005], a[10000][10000];
void bfs(int start)
{
    queue<int>q;
    for(int i=1;i<=n;i++)
        v[i]=-1;
    v[start]=0;
    q.push(start);
    while(!q.empty())
    {
        int nod_curent=q.front();
        q.pop();
        for(int i=1;i<=n;i++)
        {
            if(v[i]==-1 && a[nod_curent][i]==1)
            {
                q.push(i);
                v[i]=v[nod_curent]+1;
            }
        }
    }
}
int main()
{
    fin>>n>>m>>s;
    for(int i=1;i<=m;i++)
    {
        fin>>x>>y;
        a[x][y]=1;
    }
    bfs(s);
    for(int i=1;i<=n;i++)
        fout<<v[i]<<' ';
    return 0;
}
//And I'm still standin' after all this time