Pagini recente » Cod sursa (job #1814824) | Cod sursa (job #1303459) | Cod sursa (job #977528) | Cod sursa (job #155532) | Cod sursa (job #705971)
Cod sursa(job #705971)
#include<cstdio>
#include<vector>
#include<cstring>
using namespace std;
vector<long> a[1001];
long c[1001],lg[1001],m,s,i,v,b,n;
void bfs(int x)
{
long z=a[x].size();
for(long i=0;i<z;i++)
{
if(lg[a[x][i]]==-1)
{
lg[a[x][i]]=lg[x]+1;
bfs(a[x][i]);
}
}
}
int main()
{
freopen("bfs.in","rt",stdin);
freopen("bfs.out","wt",stdout);
scanf("%ld%ld%ld",&n,&m,&s);
for(i=1;i<=m;i++)
{
scanf("%ld%ld",&v,&b);
a[v].push_back(b);
}
memset(lg,-1,sizeof(lg));
lg[s]=0;
bfs(s);
for(i=1;i<=n;i++)
printf("%ld ",lg[i]);
return 0;
}