Pagini recente » Cod sursa (job #572523) | Cod sursa (job #2243655) | Cod sursa (job #967689) | Cod sursa (job #2152627) | Cod sursa (job #3263187)
//
// main.cpp
// Pb BFS
//
// Created by Petrisor Stefan on 13.12.2024.
//
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
struct z{
int p=0,c[100000];
}v[100000];
int main() {
int n,m,s,x,y;
int dist[100000];
for(int i=0;i<100000;i++)
{
dist[i]=-1;
}
f>>n>>m>>s;
for(int i=1;i<=m;i++)
{
f>>x>>y;
if(x!=y)
{ v[x].p++;
v[x].c[v[x].p]=y;
}
}
dist[s]=0;
queue <int> Q;
Q.push(s);
while(!Q.empty())
{
for(int i=1;i<=v[Q.front()].p;i++)
{
if(dist[v[Q.front()].c[i]]==-1)
{
dist[v[Q.front()].c[i]]=dist[Q.front()]+1;
Q.push(v[Q.front()].c[i]);
}
}
Q.pop();
}
for(int i=1;i<=n;i++)
{
g<<dist[i]<<" ";
}
return 0;
}