Mai intai trebuie sa te autentifici.
Cod sursa(job #1585476)
Utilizator | Data | 31 ianuarie 2016 09:11:31 | |
---|---|---|---|
Problema | BFS - Parcurgere in latime | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <fstream>
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
int p,u,st,x,y,i,j,m,n,c[1000002],v[1000002];
bool a[100001][100001];
int main()
{
f>>n>>m>>st;
for(i=1;i<=m;++i)
{
f>>x>>y;
a[x][y]=1;
}
p=1;
u=1;
c[p]=st;
v[st]=1;
while(p<=u)
{
x=c[p];
++p;
for(i=1;i<=n;++i)
if(a[x][i]==1 && v[i]==0)
{
++u;
c[u]=i;
v[i]=v[x]+1;
}
}
for(i=1;i<=n;++i)
if(v[i]==0)
g<<-1<<" ";
else
g<<v[i]-1<<" ";
return 0;
}