Cod sursa(job #957945)

Utilizator dumitra_cristianDumitra Cristian dumitra_cristian Data 6 iunie 2013 17:19:31
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include<fstream>

using namespace std;
ifstream f("bf1.in");
ofstream g("bf1.out");
int n,m,a[100][100],p,nod,q[100],t[100],lg[100],u;
bool sel[100];
void bf(int x)
{ int i;
  sel[x]=true; q[1]=x; t[x]=0;
  lg[x]=0; p=u=1;
  while(p<=u)
   { nod=q[p];
     for(i=1;i<=n;i++)
       if(a[nod][i]&&!sel[i])
        { q[++u]=i;
          t[i]=nod; sel[i]=true;
          lg[i]=lg[nod]+1;

        }
      p++;
   }

}

int main()
{ int i,j,z,y,x;
  f>>n;
  f>>m;
  f>>x;
  for(i=1;i<=m;i++)
    { f>>z;
      f>>y;
      a[z][y]=a[y][z]=1;
    }
  bf(x);
 for(i=1;i<=u;i++)
   g<<q[i]<<" ";
 f.close(); g.close();
    return 0;
}