Pagini recente » Cod sursa (job #1567911) | Cod sursa (job #2233832) | Cod sursa (job #1993398) | Cod sursa (job #2448805) | Cod sursa (job #897938)
Cod sursa(job #897938)
#include <iostream>
#include<fstream>
using namespace std;
int a[20003][20003];
int main()
{
fstream f("bfs.in",ios::in),g("bfs.out",ios::out);
int u,p,k=1,x,y,j,n,i,m,S,viz[100003];
f>>n>>m>>S;
for(i=1;i<=m;i++)
{
f>>x>>y;
a[x][y]=1;
}
int C[100003],vf;
viz[S]=1;
p=u=0;
C[++u]=S;
while(p<u)
{
vf=C[++p];
for(i=1;i<=n;i++)
if(a[vf][i]!=0&&viz[i]==0)
{
C[++u]=i;
viz[i]=viz[vf]+1;
}
}
for(i=1;i<=n;i++)
if(viz[i]==0)
g<<-1<<" ";
else
g<<viz[i]-1<<" ";
}