Pagini recente » Cod sursa (job #2133934) | Cod sursa (job #2227771) | Cod sursa (job #2820124) | Cod sursa (job #971942) | Cod sursa (job #359149)
Cod sursa(job #359149)
#include<vector>
using namespace std;
int n,m,s,i,x,y;
int u[100003];
vector<int> a[100003];
void bfs()
{
int c[100003],in=1,sf=1,i,l,j;
c[1]=s;
u[s]=1;
while(in<=sf)
{
l=a[c[in]].size();
for(i=0;i<l;i++)
if(!u[a[c[in]][i]])
{
j=a[c[in]][i];
u[j]=u[c[in]]+1;
c[++sf]=j;
}
in++;
}
}
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].push_back(y);
}
bfs();
for(i=1;i<=n;i++)
printf("%d ",u[i]-1);
return 0;
}