Cod sursa(job #2657872)

Utilizator BogdanTicuTicu Bogdan Valeriu BogdanTicu Data 12 octombrie 2020 15:36:30
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("bfs.in");
ofstream out("bfs.out");

int cost[100005],ans[100005];
vector<int> graf[100005];
queue<int> q;

int main()
{
	int n,m,s;
	in>>n>>m>>s;
	for(int i=1;i<=m;i++)
	{
		int x,y;
		in>>x>>y;
		graf[x].push_back(y);
	}
	for(int i=1;i<=n;i++)
		ans[i]=-1;
	q.push(s);
	ans[s]=0;
	while(!q.empty())
	{
		int front=q.front();
		for(auto x:graf[front])
		{
			if(ans[x]==-1)
			{
				ans[x]=ans[front]+1;
				q.push(x);
			}
		}
		q.pop();
	}
	for(int i=1;i<=n;i++)
		out<<ans[i]<<" ";
	return 0;
}