Cod sursa(job #2345044)

Utilizator Alex221Dumitru Alexandru Alex221 Data 15 februarie 2019 20:30:10
Problema BFS - Parcurgere in latime Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,m,a,x,y,varf,dist[100001];
vector<int> v[100001];
queue <int> q;
bool viz[100001];
int main()
{ f>>n>>m>>a;
  for(int i=1;i<=m;i++)
  { f>>x>>y;
    v[x].push_back(y);
  }
  q.push(a);
  while(!q.empty())
  { varf=q.front();
       viz[varf]=1;

    q.pop();
     for(int i=0;i<v[varf].size();i++)
          if(viz[v[varf][i]]==0)
          {
         q.push(v[varf][i]);
        dist[v[varf][i]]=dist[varf]+1;
        }
  }
  for(int i=1;i<=n;i++)
    if(dist[i]==0 && i!=a) g<<-1<<" ";
    else g<<dist[i]<<" ";
    return 0;
}