Pagini recente » Cod sursa (job #1719686) | Istoria paginii runda/oji2005_clasa_a_9_a/clasament | Cod sursa (job #371366) | Cod sursa (job #2171749) | Cod sursa (job #2013243)
#include<fstream>
#include<vector>
using namespace std;
ifstream in("bfs.in");
ofstream out("bfs.out");
int n,m,s,v[100001],d[100001],hz[100001],i,a,b,st,dr;
vector<int>h[100001];
int main(){
in >> n >> m >> s;
for( i = 1; i <= m; i ++ ){
in >> a >> b;
h[a].push_back(b);
}
v[1] = s;
d[s] = 1;
hz[s] = 1;
for( st = 1, dr = 1; st <= dr; st ++ ){
for( i = 0; i < h[v[st]].size(); i ++ ){
if( hz[ h[v[st]][i] ] == 0 ){
dr++;
v[dr] = h[v[st]][i];
hz[ h[v[st]][i] ] = 1;
d[h[v[st]][i]] = d[v[st]] + 1;
}
}
}
for( i = 1; i <= n; i ++ ){
out<<d[i]-1<<" ";
}
return 0;
}