Cod sursa(job #955471)
| Utilizator | Data | 31 mai 2013 20:20:22 | |
|---|---|---|---|
| Problema | BFS - Parcurgere in latime | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include<fstream>
#include<vector>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
vector<int> L[100001];
int v[100001],c[100001],i,j,n,p,u,s,x,y,m;
int main()
{f>>n>>m>>s;
for(i=1;i<=m;i++)
{f>>x>>y;L[x].push_back(y);
}c[1]=s;v[s]=1;p=1;u=1;while(p<=u)
{for(int i=0;i<L[c[p]].size();i++)if(v[L[c[p]][i]]==0)
{u++;c[u]=L[c[p]][i];v[L[c[p]][i]]=v[c[p]]+1;}p++;
}for(i=1;i<=n;i++)
g<<v[i]-1<<" ";return 0;}
