Cod sursa(job #2880685)

Utilizator Vali_nnnValentin Nimigean Vali_nnn Data 29 martie 2022 23:42:07
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
#include<iomanip>
#include<cmath>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
vector<int> v[100001];
queue<int> q;
long long n,i,j,a[100001],x,y,m,start;
void bfs(int start)
{
    int k;
   q.push(start);
a[start]=1;
     while(!q.empty())
  {
    k=q.front();

  for(int j=0;j<v[k].size();j++)
      {int p=v[k][j];

          if(a[p]==0)
      {

q.push(p);
     a[p]=a[k]+1;

      }
      }
    q.pop();
  }

}




int main()
{
    f>>n>>m>>start;
for(i=1;i<=m;i++)
    {f>>x>>y;
    v[x].push_back(y);

    }



   bfs(start);




for(i=1;i<=n;i++)
    g<<a[i]-1<<" ";

}