Cod sursa(job #2779571)
| Utilizator | Data | 4 octombrie 2021 11:11:00 | |
|---|---|---|---|
| Problema | BFS - Parcurgere in latime | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<bits/stdc++.h>
using namespace std;
vector<int> L[100001];
int v[100001],c[100001],n,p,u,s,x,y,m;
int main()
{
freopen("bfs.in","r",stdin),freopen("bfs.out","w",stdout),scanf("%d%d%d",&n,&m,&s);
while(m--)
scanf("%d%d",&x,&y),L[x].push_back(y);
for(v[s]=p=u=1,c[1]=s;p<=u;++p)
for(auto a:L[c[p]])
if(!v[a])
c[++u]=a,v[a]=v[c[p]]+1;
for(p=1;p<=n;++p)
printf("%d ",v[p]-1);
return 0;
}
