Cod sursa(job #1163454)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 1 aprilie 2014 13:05:49
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>
#include  <queue>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
 vector <int> v[100005];
 queue <int> q;
  int n,m,dm[100005];

   void BFS()
   { int i,nod;
      while(!q.empty())
       { nod=q.front(); q.pop();

          for(i=0;i<v[nod].size();i++)
           if (!dm[v[nod][i]])
                 {
                     dm[v[nod][i]]=dm[nod]+1;
                     q.push(v[nod][i]);
                 }

       }
   }

int main()
{ int i,x,y,s;
    f>>n>>m>>s;

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

   q.push(s); dm[s]=1;

      BFS();

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

    return 0;
}