Pagini recente » Cod sursa (job #1701653) | Cod sursa (job #3145248) | Cod sursa (job #2744995) | Cod sursa (job #2698184) | Cod sursa (job #1376392)
#include <fstream>
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
int i,j,n,m,x,y,s,u,p,c[1000],et[1000],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;
}