Cod sursa(job #864606)
| Utilizator | Data | 25 ianuarie 2013 13:56:38 | |
|---|---|---|---|
| Problema | BFS - Parcurgere in latime | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <queue>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int a[10005][10005],v[100005],x,y,p,i,n,m,s,k;
queue<int> q;
int main()
{
f>>n>>m>>s;
for (i=1;i<=m;i++)
{
f>>x>>y;
a[x][y]=1;
}
q.push(s);v[s]=1;
while (!q.empty())
{
p=q.front();
for (i=1;i<=n;i++)
{
if ((a[p][i]==1)&&(v[k]==0))
{
q.push(i);
v[i]=v[p]+1;
}
}
q.pop();
}
for(i=1;i<=n;i++) g<<v[i]-1<<' ';
}