Pagini recente » Cod sursa (job #3225335) | Cod sursa (job #709762) | Cod sursa (job #724647) | Cod sursa (job #2989836) | Cod sursa (job #1434941)
#include <fstream>
using namespace std;
int x,y,m,s,n,i,L[1001],a[1001][2002];
bool sel[1001];
ifstream f("bfs.in");
ofstream g("bfs.out");
void bf(int x){
int p,u,c[1001],v,j;
p=u=1;
sel[x]=true;
c[p]=x;
L[x]=0;
while(p<=u){
v=c[p];
for(j=1; j<=n; ++j)
if(a[v][j]==1 && !sel[j]){
u++;
sel[j]=true;
c[u]=j;
L[j]=L[v]+1;
}
p++;
}
}
int main()
{
f>>n>>m>>s;
for(i=1; i<=m; ++i){
f>>x>>y;
a[x][y]=1;
}
bf(s);
for(i=1;i<=n;++i)
if(sel[i]) g<<L[i]<<" ";
else g<<"-1"<<" ";
return 0;
}