Pagini recente » Cod sursa (job #682036) | Cod sursa (job #574973) | Cod sursa (job #1386606) | Cod sursa (job #1576603) | Cod sursa (job #1434509)
#include <iostream>
#include <fstream>
using namespace std;
int c[100000],a[100000][100000],viz[100000];
unsigned n;
void bfs(unsigned i,unsigned w)
{
c[i]=w;
unsigned v[10000],elem=0,j;
for(j=1;j<=n;j++)
if(a[i][j]==1&&viz[j]!=1)
{
viz[j]=1;
v[elem]=j;
elem++;
}
for(j=0;j<elem;j++)
bfs(v[j],w+1);
}
int citire()
{
int m,s;
ifstream f("bfs.in");
f>>n>>m>>s;
viz[s]=1;
unsigned i;
for(i=1;i<=n;i++)
c[i]=-1;
for(i=1;i<=n;i++)
{
f>>x>>y;
a[x][y]=1;
}
f.close();
return s;
}
int main()
{
bfs(citire(),0);
ofstream g("bfs.out");
for(unsigned i=1;i<=n;i++)
g<<c[i]<<" ";
g.close();
return 0;
}