Pagini recente » Cod sursa (job #1577598) | Cod sursa (job #1428048) | Istoria paginii runda/simulareoji2/clasament | Istoria paginii runda/adobe/clasament | Cod sursa (job #2019598)
#include <fstream>
using namespace std;
ifstream f("bsf.in");
ofstream g("bfs.out");
int n,m,x,y,k,a[101][101],c[101],i,j,v[101];
int p,u,nc,d[101];
void citire()
{f>>n>>m>>k;
int q,w;
for(i=1;i<=m;i++)
{f>>q>>w;
a[q][w]=1;
}
}
int bfs(int np)
{
p=u=1;
v[np]=1;
c[1]=np;
while(p<=u)
{nc=c[p];
for(i=1;i<=n;i++)
if(a[nc][i]==1&&v[i]==0){c[++u]=i;d[i]=d[nc]+1;
v[i]=1;}
p++;
}
}
int main()
{ citire();
bfs(k);
for(i=1;i<=n;i++)
if(v[i]==0)d[i]=-1;
for(i=1;i<=n;i++)g<<d[i]<<" ";
return 0;
}