Pagini recente » Profil PenalulVladCostin | Istoria paginii utilizator/oanadagreat | Cod sursa (job #1775264) | Cod sursa (job #2786764) | Cod sursa (job #1873053)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1e5 + 5;
vector<int> g[NMAX];
int d[NMAX];
int main(void) {
ifstream fi("bfs.in");
ofstream fo("bfs.out");
deque<int> q;
int n, m, x, u, v;
fi >> n >> m >> x;
for (int i = 0; i < m; ++i) {
fi >> u >> v;
g[u].push_back(v); }
d[x] = 1;
q.push_back(x);
while (!q.empty()) {
u = q.front(), q.pop_front();
for (auto v: g[u]) if (!d[v]) {
d[v] = d[u] + 1;
q.push_back(v); }
}
for (int i = 1; i <= n; ++i)
fo << (d[i] - 1) << " \n"[i == n];
return 0; }