Pagini recente » Cod sursa (job #2302944) | Cod sursa (job #2915424) | Cod sursa (job #2904780) | Cod sursa (job #653217) | Cod sursa (job #2649889)
#include <fstream>
#include <vector>
#define dim 100007
using namespace std;
ifstream fin ("bfs.in");
ofstream fout ("bfs.out");
int n, m, x, i, j, nod, vecin, c[dim], p, u, v[dim];
vector <int> L[dim];
int main()
{
fin>>n>>m>>x;
for (int t=1; t<=m; t++)
{
fin>>i>>j;
L[i].push_back(j);
}
c[1]=x;
p=u=1;
while (p<=u)
{
nod=c[p];
for (i=0; i<L[nod].size(); i++)
{
vecin=L[nod][i];
if (v[vecin]==0 && vecin!=x)
{
v[vecin]=v[nod]+1;
c[++u]=vecin;
}
}
p++;
}
for (i=1; i<=n; i++)
if (i!=x && v[i]==0)
fout<<"-1"<<" ";
else
fout<<v[i]<<" ";
}