Cod sursa(job #2174292)

Utilizator unknownpersonBidasca Carina Georgiana unknownperson Data 16 martie 2018 11:29:44
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,m;
const int N=100005;
vector<int >muchii[N];
queue<int>Q;
int dist[N];
void bfs();
void citire()
{ int start;
    f>>n>>m>>start;
    for(int i=1;i<=m;i++)
    {
        int x,y;
        f>>x>>y;
        muchii[x].push_back(y);
    }
    for(int i=1;i<=n;i++)
       {
           dist[i]=-1;
           dist[start]=0;
           Q.push(start);
           bfs();
       }
       for(int i=1;i<=n;i++)
        g<<dist[i]<<" ";
}
void bfs()
{
  int nod,vecin;
  while(!Q.empty())
  {
      nod=Q.front();
      Q.pop();
      for(unsigned int i=0;i<muchii[nod].size();i++)
      {
          vecin=muchii[nod][i];
          if(dist[vecin]==-1)
          {
              Q.push(vecin);
              dist[vecin]=dist[nod]+1;
          }
      }
  }
}
int main()
{
    citire();
    return 0;
}