Pagini recente » Cod sursa (job #68179) | Cod sursa (job #506199) | Cod sursa (job #2770370) | Cod sursa (job #2779311) | Cod sursa (job #2661223)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
vector <int> v[100001];
int xx;
int c[100001];
void bfs(int x)
{
for(int i = 0; i < v[x].size(); i++)
{
if(c[v[x][i]] == 0 && v[x][i] != xx)
{
c[v[x][i]] = c[x] + 1;
bfs(v[x][i]);
}
}
}
int main()
{
int n, m, a, b;
fin >> n >> m >> xx;
c[xx] = 0;
for(int i = 0; i < m; i++)
{
fin >> a >> b;
v[a].push_back(b);
}
bfs(xx);
for(int i = 1; i <= n; i++)
{
if(c[i] != 0 || i == xx)
fout << c[i] <<' ';
else
fout << -1 <<' ';
}
return 0;
}