Pagini recente » Cod sursa (job #704538) | Cod sursa (job #2326591) | Cod sursa (job #677013) | Cod sursa (job #2107274) | Cod sursa (job #2531827)
#include <fstream>
#include <vector>
using namespace std;
vector<int> L[100010];
int n,m,a,x,y,p,u,crt,vec,i,d[100010],v[100010],c[100010];
int main () {
ifstream fin ("bfs.in");
ofstream fout("bfs.out");
fin>>n>>m>>a;
while (fin>>x>>y){
L[x].push_back(y);
}
c[1]=a;
v[a]=p=u=d[a]=1;
while (p<=u) {
crt=c[p];
for (i=0;i<L[crt].size();i++) {
vec=L[crt][i];
if (v[vec]==0){
c[++u]=vec;
v[vec]=1;
d[vec]=1+d[crt];
}
}
p++;
}
for (i=1;i<=n;i++){
fout<<d[i]-1<<" ";
}
return 0;
}