Pagini recente » Cod sursa (job #3153046) | Cod sursa (job #2721831) | Cod sursa (job #2495480) | Cod sursa (job #2388769) | Cod sursa (job #2209950)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream in("bfs.in");
ofstream out("bfs.out");
vector <int> v[100001];
queue <int> q;
int ver[100001];
void bfs(int i)
{
int j;
ver[i]++;
q.push(i);
while(!q.empty())
{
i=q.front();
q.pop();
for(j=0; j<v[i].size(); j++)
{
if(!ver[v[i][j]] )
{
q.push(v[i][j]);
ver[v[i][j]]=ver[i]+1;
}
}
}
}
int main()
{
int n,m,x,i;
in>>n>>m>>x;
for(i=1; i<=m; i++)
{
int a,b;
in>>a>>b;
v[a].push_back(b);
}
bfs(x);
for(i=1;i<=n;i++)
{
out<<ver[i]-1<<" ";
}
return 0;
}