Pagini recente » Cod sursa (job #1690704) | Cod sursa (job #3275988) | Cod sursa (job #1042027) | Cod sursa (job #1010417) | Cod sursa (job #3296185)
#include <bits/stdc++.h>
#define pb push_back
#define int long long
using namespace std;
const int N=1e5+5;
vector<int> g[N];
bool vis[N];
int q[N];
int dep[N];
signed main()
{
ifstream cin("bfs.in");ofstream cout("bfs.out");
int n,m,root;
cin>>n>>m>>root;
for(int _=1;_<=m;++_)
{
int u,v;cin>>u>>v;
g[u].pb(v);
}
q[1]=root;
int it=1,sz=1;
for(int i=1;i<=n;++i) dep[i]=-1;
dep[root]=0;
while(it<=sz)
{
int u=q[it];
++it;
vis[u]=1;
for(auto v:g[u])
{
if(vis[v]) continue;
dep[v]=dep[u]+1;
++sz;
q[sz]=v;
}
}
for(int i=1;i<=n;++i) cout<<dep[i]<<" ";
}