Pagini recente » Monitorul de evaluare | Cod sursa (job #3037402) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3315388)
#include<fstream>
#include<vector>
using namespace std;
ifstream cin("bfs.in");
ofstream cout("bfs.out");
int c[100001],d[100000];
vector<int> v[100001];
int main()
{
int k=0,m,n,s;
for(cin>>n>>m>>s,c[s]=1,d[k++]=s;m--;) {
int i,j;
cin>>i>>j,v[i].push_back(j);
}
for(int i=0;i<k;++i)
for(int j:v[d[i]])
if(!c[j])
c[j]=c[d[i]]+1,d[k++]=j;
for(int i=1;i<=n;cout<<c[i++]-1<<' ');
return 0;
}