Pagini recente » Cod sursa (job #42334) | Cod sursa (job #579154) | Cod sursa (job #2717910) | Cod sursa (job #2588681) | Cod sursa (job #1833225)
#include <bits/stdc++.h>
#define nmax 100001
using namespace std;
vector <int> a[nmax];
int v[nmax],d[nmax];
bool viz[nmax];
int main()
{
int n,m,s,i,a,b,x,j,c;
cin>>n>>m>>s;
for(i=0;i<m;i++)
{
cin>>c>>b;
a[c].push_back(b);
}
for(i=0;i<n;i++) d[i]=-1;
viz[s]=1; v[1]=s;
int k=1;
d[s]=0;
for(i=1;i<=k;i++)
{
for(j=0;j<a[v[x]].size();j++)
{
if(!viz[a[v[x][y]]])
{v[++k]=a[v[x][j]];
viz[v[k]]=1;
d[v[k]]=d[v[x]]+1;}
}
}
for(i=0;i<n;i++)
cout<<d[i]<<" ";
return 0;
}