Pagini recente » Cod sursa (job #2753269) | Cod sursa (job #2878713) | Cod sursa (job #3246384) | Cod sursa (job #2289440) | Cod sursa (job #2792656)
#include <bits/stdc++.h>
#define din cin
#define dout out
#define pi 3.14159265359
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define ll long long
#define forq(i,ii,n)for(i=ii;i<n;i++)
using namespace std;
ifstream in("bfs.in");
ofstream out("bfs.out");
int n,m,s,i,j,b[100001],l,u,k,t[100001];vector<int>a[100001];bitset<1000001> c;
int main()
{
fill(t,t+100001,-1);
in>>n>>m>>s;
while(m--)in>>i>>j,a[i].push_back(j);
b[0]=s,c[s]=1,t[s]=0;s=1;
while(u<=l)
{
while(u<=k)
{
for(auto i=a[b[u]].begin();i!=a[b[u]].end();++i)
if(c[*i]==0)
b[++l]=*i,c[*i]=1,t[*i]=s;
++u;
}
k=l;++s;
}
for(i=1;i<=n;i++)out<<t[i]<<' ';
}