Cod sursa(job #2668631)

Utilizator gunther41Ionut Buzamat Alexandru gunther41 Data 5 noiembrie 2020 05:54:43
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("bfs.in");
ofstream o("bfs.out");

int N,M,S,x,y;
int vizitat[100002];
queue <int > q;
vector <int> v[100002];

void BFS()
{    int x;
    q.push(S);
    vizitat[S]=0;
   while(!q.empty())
   {
       x=q.front();
       q.pop();

       for(auto int i=0;i<v[x].size();++i)
        if(vizitat[v[x][i]]<0)vizitat[v[x][i]]=vizitat[x]+1,q.push(v[x][i]);
   }
}

int main()
{
 int i;
f>>N>>M>>S;
for(i=1;i<=M;++i)
{
    f>>x>>y;
    v[x].push_back(y);
    if(i<=N)vizitat[i]=-1;
}

BFS();

for(int i=1;i<=N;++i)
    o<<vizitat[i]<<" ";

    return 0;
}