Pagini recente » Cod sursa (job #1274656) | Cod sursa (job #1894231) | Cod sursa (job #2565729) | Cod sursa (job #519037) | Cod sursa (job #957948)
Cod sursa(job #957948)
#include<cstdio>
using namespace std;
int lg[1004],s,v[1004],i,n,m,x,y,t;
bool sel[1004],a[4004][4004];
int bf(int x)
{
int u,p,i,nod;
for(i=1;i<=n;i++)
{
lg[i]=-1;
}
lg[x]=0;sel[x]=true;
p=1;u=1;v[1]=x;
while(p<=u)
{
nod=v[p];
for(i=1;i<=n;i++)
{
if(a[nod][i]&&!sel[i])
{
v[++u]=i;
sel[i]=true;
lg[i]=lg[nod]+1;
}
}
p++;
}
for(i=1;i<=n;i++)
{
printf("%d ",lg[i]);
}
}
int main()
{
freopen("bfs.in","r",stdin);
freopen("bfs.out","w",stdout);
scanf("%d%d%d",&n,&m,&s);
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
a[x][y]=true;
}
bf(s);
}