Pagini recente » Cod sursa (job #2119219) | Cod sursa (job #1039719) | Cod sursa (job #1062690) | Cod sursa (job #3184784) | Cod sursa (job #1691682)
#include <bits/stdc++.h>
using namespace std;
int n,m,s,c[100005],p[100005],l,x,y;
vector <int> a[100005];
int main()
{
ifstream in("bfs.in");
ofstream out("bfs.out");
in >> n >> m >> s;
for(int i=1;i<=m;i++){
in >> x >> y;
a[x].push_back(y);
}
fill(c+1,c+n+1,-1);
l=1;
c[s]=0;
p[l]=s;
for(int i=1;i<=l;i++){
for(int j=0;j<a[p[i]].size();j++){
if(c[a[p[i]][j]]==-1){
p[++l]=a[p[i]][j];
c[p[l]]=c[p[i]]+1;
}
}
}
for(int i=1;i<=n;i++) out << c[i] << ' ';
}