Pagini recente » Monitorul de evaluare | Diferente pentru utilizator/claw intre reviziile 3 si 2 | Monitorul de evaluare | Cod sursa (job #1754687) | Cod sursa (job #2911597)
#include<bits/stdc++.h>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
vector<int> L[100001];
int v[100001],c[100001],n,p,u,s,x,y;
int main()
{
for(f>>n>>x>>s;f>>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;g<<v[p]-1<<' ',++p);
return 0;
}