Pagini recente » Cod sursa (job #1288037) | Cod sursa (job #1932794) | Cod sursa (job #3243343) | Cod sursa (job #3246293) | Cod sursa (job #551725)
Cod sursa(job #551725)
#include<fstream>
#include<iostream>
using namespace std;
unsigned int n,m,s,a[10001][10001],v[10001],viz[10001];
int rec(unsigned int x,unsigned int nr)
{
unsigned int i,v2[10001],q=0;
for(i=1;i<=n;i++)
if(a[x][i] && !viz[i])
{
viz[i]=1;
v[i]=nr;
q++;
v2[q]=i;
}
for(i=1;i<=q;i++)
rec(v2[i],nr+1);
}
int main()
{
unsigned int i,xx,yy,q;
ifstream f("bfs.in");
f>>n>>m>>s;
for(i=1;i<=m;i++)
{
f>>xx>>yy;
a[xx][yy]=1;
}
rec(s,1);
ofstream g("bfs.out");
for(i=1;i<=n;i++)
if(i==s) g<<"0 ";
else if(v[i]==0) g<<"-1 ";
else g<<v[i]<<" ";
}