Cod sursa(job #1378105)
Utilizator | Data | 6 martie 2015 10:33:06 | |
---|---|---|---|
Problema | BFS - Parcurgere in latime | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <fstream>
using namespace std;
ifstream in ("bf.in");
ofstream out ("bf.out");
long i,j,n,m,x,y,s,u,p,c[1000],et[1000],a[1000][1000];
void afis()
{
for(i=1;i<=n;i++)
out<<et[i]-1<<" ";
}
int main()
{
in>>n>>m>>s;
for(i=1;i<=m;i++)
{
in>>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;
}