Pagini recente » Cod sursa (job #1745706) | Monitorul de evaluare | Cod sursa (job #31937) | Diferente pentru problema/evaluare intre reviziile 13 si 14 | Cod sursa (job #1225894)
#include<fstream>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,s,viz[10000],a[1000][1000],x,y,p,q,c[10000],i;
int main()
{
fin>>n>>m>>s;
for(i=1;i<=m;i++)
{
fin>>x>>y;
a[x][y]=1;
}
p=q=1;
c[p]=s;
viz[s]=1;
while(p<=q)
{
for(i=1;i<=n;i++)
{
if(a[c[p]][i] && !viz[i])
{
q++;
c[q]=i;
viz[c[q]]=viz[c[p]]+1;
}
}
p++;
}
for(i=1;i<=n;i++)
{
if(!viz[i])
fout<<"-1 ";
else
fout<<viz[i]-1<<" ";
}
return 0;
}