Pagini recente » Cod sursa (job #3147411) | Cod sursa (job #2432652) | Rating Hudici Roberta Andreea (HudiciRoberta) | Cod sursa (job #1836817) | Cod sursa (job #1427254)
#include <bits/stdc++.h>
using namespace std;
int N,M,counter=1,fufu;
int dist[100001];
vector< vector<int > >g;
int main()
{
freopen("bfs.in","r",stdin);
freopen("bfs.out","w",stdout);
ios_base::sync_with_stdio(0);
cin>>N>>M>>fufu;
g.resize(N+1);
for(int i=0;i<M;i++)
{
int num1,num2;
char dir;
cin>>num1>>num2;
g[num1].push_back(num2);
}
for(int i=1;i<=N;i++)
dist[i]=-1;
dist[fufu]=0;
queue<int>lala;
lala.push(fufu);
while(!lala.empty())
{
int first=lala.front();
lala.pop();
for(int i=0;i<g[first].size();i++){
if(dist[g[first][i]]==-1)
{
lala.push(g[first][i]);
dist[g[first][i]]=dist[first]+1;
}
}
}
for(int i=1;i<=N;i++)
cout<<dist[i]<<" ";
return 0;
}