Pagini recente » Cod sursa (job #3362340) | Cod sursa (job #3361244) | Cod sursa (job #3361622) | Cod sursa (job #3361344) | Cod sursa (job #3361609)
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <bits/stdc++.h>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
vector<vector<int>> v(100001);
queue<int> q;
int ramas[100001],viz[100001],pasi[100001];
int main()
{
int n,i,j,m,s,x,y;
fin>>n>>m>>s;
for(i=1;i<=m;i++)
{
fin>>x>>y;
v[x].push_back(y);
ramas[x]++;
}
q.push(s);
viz[s]=1;
while(!q.empty())
{
for(j=0;j<ramas[q.front()];j++)
{
if(viz[v[q.front()][j]]==0)
{
viz[v[q.front()][j]]=1;
pasi[v[q.front()][j]]=pasi[q.front()]+1;
q.push(v[q.front()][j]);
}
}
q.pop();
}
for(i=1;i<=n;i++)
{
if(viz[i]==1) fout<<pasi[i]<<" ";
else fout<<-1<<" ";
}
return 0;
}