Pagini recente » Cod sursa (job #220607) | Cod sursa (job #90476) | Cod sursa (job #1815522) | Cod sursa (job #847314) | Cod sursa (job #591881)
Cod sursa(job #591881)
# include <fstream>
# include <vector>
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
vector <int> v[100010];
int n, m, S, i, x, y, sol[100010];
void make (int S, int pasi){
sol[S] = pasi + 1;
int siz = v[S].size ();
for (int k = 0; k < siz; ++k){
int val = v[S][k];
if (!sol[val])
make (val, pasi + 1);
}
}
int main (){
f >> n >> m >> S;
for (i = 1; i <= m; ++i){
f >> x >> y;
v[x].push_back (y);
}
make (S, 0);
for (i = 1; i <= n; ++i)
g << sol[i] - 1 << ' ';
g.close ();
return 0;
}