Pagini recente » Cod sursa (job #2612407) | Cod sursa (job #1490610) | Istoria paginii runda/oji_2007_10 | Cod sursa (job #1540905) | Cod sursa (job #1376391)
#include <fstream>
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
int i,j,n,m,x,y,s,u,p,c[10000],et[10000],a[1000][1000];
void afis()
{
for(i=1;i<=n;i++)
g<<et[i]-1<<" ";
}
int main()
{
f>>n>>m>>s;
for(i=1;i<=m;i++)
{
f>>x>>y;
a[x][y]=1;
}
c[1]=s;
et[s]=1;
p=u=1;
while(p<=u)
{
x=c[p];
for(i=1;i<=n;i++)
{
if(et[i]==0 && a[x][i]==1)
{
et[i]=et[x]+1;
u++;
c[u]=i;
}
}
p++;
}
afis();
return 0;
}