Cod sursa(job #3145824)

Utilizator sireanu_vladSireanu Vlad sireanu_vlad Data 17 august 2023 10:57:09
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include<iostream>
#include<vector>
#include<queue>
using namespace std;

const int NMAX=1e5;
int n,m,s,d[NMAX+1];
vector<int> g[NMAX+1];

int main(){
	freopen("bfs.in","r",stdin);
	freopen("bfs.out","w",stdout);
	cin>>n>>m>>s;
	while(m--){
		int x,y;
		cin>>x>>y;
		g[x].push_back(y);
	}
	queue<int> q;
	d[s]=1;
	q.push(s);
	while(!q.empty()){
		int nod=q.front();
		q.pop();
		for(auto i:g[nod]){
			if(!d[i]){
				d[i]=d[nod]+1;
				q.push(i);
			}
		}
	}
	for(int i=1;i<=n;++i)
		cout<<d[i]-1<<' ';
}