Pagini recente » Cod sursa (job #2515860) | Cod sursa (job #1420537) | Cod sursa (job #2110519) | Cod sursa (job #1106448) | Cod sursa (job #261858)
Cod sursa(job #261858)
#include<fstream.h>
ifstream f("bfs.in");
ofstream g("bfs.out");
long a[50][50],cd[100],cp[100],n,m,s,i,j,k,p,u,ok,poz,x1,x2,nr,q;
int main ()
{
f>>n>>m>>s;
for (i=1;i<=m;i++) {f>>x1>>x2;a[x1][x2]=1;}
for (i=1;i<=n;i++)
{nr=0;
p=0;u=0;
cd[0]=s;
cp[0]=nr;
u++;
ok=0;poz=0;
nr=1;
if (s==i) g<<0<<" ";
else {while (p<=u && ok==0)
{q=u;
for (j=1;j<=n;j++) if (a[cd[p]][j]) {if (cd[p]==i) {ok=1;poz=nr;break;}
else if (j!=cd[0]){cd[u]=j;cp[u]=nr;u++;}}
p++;
if (q!=u) nr++;}
if (ok) g<<poz-1<<" ";
else g<<-1<<" ";
}
for (k=0;k<=u;k++) cd[k]=cp[k]=0;
}
return 0.0;
}