Pagini recente » Istoria paginii runda/trainingts2 | Profil hutzudactyl | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #2013242)
#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] = 1;
d[1] = 0;
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;
}