Pagini recente » Cod sursa (job #1636050) | Cod sursa (job #551138) | Cod sursa (job #1255720) | Cod sursa (job #1380883) | Cod sursa (job #1790045)
#include <fstream>
#include <vector>
#define DIM 100010
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
const int N = 100010;
int n, m, i, j, v[N], c[N], s, x, y, p, u;
vector<int> a[N];
int main() {
fin >> n >> m >> s;
for (i = 1; i <= m; ++i) {
fin >> x >> y;
a[x].push_back(y);
}
p = 1;
u = 1;
c[1] = s;
v[s] = 1;
while (p <= u) {
for (i = 0; i < a[c[p]].size(); ++i)
if (v[a[c[p]][i]] == 0) {
v[a[c[p]][i]] = v[c[p]] + 1;
c[++u] = a[c[p]][i];
}
p++;
}
for (i = 1; i <= n; ++i)
fout << v[i] - 1 << ' ';
return 0;
}