Cod sursa(job #3151037)

Utilizator BOSSSTEFANPetrescu Ioan Stefan BOSSSTEFAN Data 19 septembrie 2023 14:13:53
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("bfs.in");
ofstream cout("bfs.out");
struct ura
{
   vector <int> v;
}g[100001];
int vf[100001],t[100001];
int main()
{
    int n,m,s,i,x,y,j,k;
    cin>>n>>m>>s;
    for(i=1;i<=m;i++)
    {
        cin>>x>>y;
        g[x].v.push_back(y);
    }
    t[1]=s;
    vf[s]=1;
    for(i=1,j=1;i<=j;i++)
    {
        for(k=0;k<g[t[i]].v.size();k++)
            if(vf[g[t[i]].v[k]]==0)
            {
                vf[g[t[i]].v[k]]=vf[t[i]]+1;
                j++;
                t[j]=g[t[i]].v[k];
            }
    }
    for(i=1;i<=n;i++)
        if(vf[i]==0)
            cout<<-1<<" ";
        else
            cout<<vf[i]-1<<" ";
    return 0;
}