Pagini recente » Cod sursa (job #3277180) | Cod sursa (job #3038838) | Cod sursa (job #715014) | Cod sursa (job #642442) | Cod sursa (job #855909)
Cod sursa(job #855909)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("bfs.in"); ofstream g("bfs.out");
const int Nmax=100009;
int n, m, s, viz[Nmax], Q[Nmax];
vector <int> L[Nmax];
int main()
{ f>>n>>m>>s;
for(int a, b, i=1; i<=m; ++i)
f>>a>>b, L[a].push_back(b);
Q[1]=s; viz[s]=1;
int p=1, u=1;
while(p<=u)
{ int i=Q[p++];
int sf=L[i].size();
for(int j=0; j<sf; ++j)
if( !viz[L[i][j]] )
{ viz[L[i][j]]=viz[i]+1;
Q[++u]=L[i][j];
}
}
for (int i=1;i<=n;i++) g<<viz[i]-1<<' ';
g.close(); return 0;
}