Pagini recente » Cod sursa (job #3125198) | Cod sursa (job #2572195) | Cod sursa (job #2670109) | Cod sursa (job #277327) | Cod sursa (job #3226359)
#include<bits/stdc++.h>
using namespace std;
ifstream F("bfs.in");
ofstream G("bfs.out");
#define Z 2048
int n,c[100001],i,j,k,m,d[100000],p=Z,q;
vector<int> v[100001];
char s[Z],t[Z];
char B()
{
if(p==Z)
F.read(s,Z),p=0;
return s[p++];
}
int A()
{
int n=0;
char c;
for(c=B();!isdigit(c);c=B());
for(;isdigit(c);n=n*10+c-48,c=B());
return n;
}
void D()
{
if(q==Z)
G.write(t,Z),q=0;
}
void C(int n)
{
if(n<0)
t[q++]='-',D(),t[q++]=49,D();
else {
int k=0,a[5];
for(a[k++]=n%10,n/=10;n;a[k++]=n%10,n/=10);
for(;k;t[q++]=a[--k]+48,D());
}
}
int main()
{
for(n=A(),m=A(),j=A(),c[j]=1,d[k++]=j;m--;i=A(),j=A(),v[i].push_back(j));
for(i=0;i<k;++i)
for(int j:v[d[i]])
if(!c[j])
c[j]=c[d[i]]+1,d[k++]=j;
for(i=1;i<=n;C(c[i++]-1),t[q++]=' ',D());
return G.write(t,q),0;
}