Pagini recente » Cod sursa (job #2905274) | Cod sursa (job #914681) | Cod sursa (job #387786) | Cod sursa (job #1711926) | Cod sursa (job #864221)
Cod sursa(job #864221)
#include <fstream>
#include <cstring>
#include <queue>
using namespace std;
fstream f("bfs.in",ios::in), g("bfs.out", ios::out);
struct muchie{
int a,b;
}ma[1000000];
bool vis[100000];
int main()
{
int n,m,first,v[100000];
queue <int> q;
memset(v,-1,100000);
f>>n>>m>>first;
v[first]=0;
for(int i=1 ;i<=m; ++i)
{
f>>ma[i].a>>ma[i].b;
}
vis[first]=true;
q.push(first);
while (!q.empty())
{
for(int i=1;i<=m;i++)
if (q.front()==ma[i].a && vis[ma[i].b]==false)
{
q.push(ma[i].b);
v[ma[i].b]=v[ma[i].a]+1;
}
q.pop();
}
for(int i=1;i<=n;i++)
g<<v[i]<<" ";
return 0;
}