Pagini recente » Cod sursa (job #2870929) | Cod sursa (job #2497968) | Cod sursa (job #2632829) | Cod sursa (job #1886485) | Cod sursa (job #2649891)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,start,i,x,y,c[100005],d[100005];
vector<int> L[100005];
int main()
{
fin >> n >> m >> start;
for (i=1; i<=m; i++)
{
fin >> x >> y;
L[x].push_back(y);
}
int p = 1; int u = 1; c[1] = start; d[start] = 1;
while (p <= u)
{
int nod = c[p];
for (i=0; i<L[nod].size(); i++)
{
int vecin = L[nod][i];
if (!d[vecin])
{
c[++u] = vecin;
d[vecin] = d[nod]+1;
}
}
p++;
}
for (i=1; i<=n; i++)
fout << d[i]-1 << " ";
return 0;
}