Cod sursa(job #1072328)

Utilizator traian.vidrascutraian vidrascu traian.vidrascu Data 4 ianuarie 2014 12:48:24
Problema BFS - Parcurgere in latime Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#define D 2000005
#include <queue>
using namespace std;

queue <int> c;
ifstream f("bfs.in");
ofstream g("bfs.out");
int n,m,s,i,j,fr,a[1005][1005],d[1005],k;
int main ()
{
    f>>n>>m>>s;
    for(k=1;k<=m;k++)
        {
          f>>i>>j;
          a[i][j]=1;
        }
    d[s]=1;
    for(c.push(s);!c.empty();c.pop())
        {
          fr=c.front();
          for(j=1;j<=n;j++)
              {
                if(a[fr][j]==1&&d[j]==0)
                {d[j]=d[fr]+1;
                c.push(j);}
              }
        }

    for(i=1;i<=n;i++)
        g<<d[i]-1<<" ";
    return 0;
}