Pagini recente » Cod sursa (job #726233) | Cod sursa (job #1130405) | Cod sursa (job #651799) | Cod sursa (job #2405851) | Cod sursa (job #797415)
Cod sursa(job #797415)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
vector <int> G[100005];
queue <int> Q;
int n,m,s,viz[100005],c[100005],i,x,y;
void bfs()
{
int nod,i,vec;
Q.push(s);
viz[s]=1;
while(!Q.empty())
{
nod=Q.front();
Q.pop();
for(i=0;i<G[nod].size();i++)
{
vec=G[nod][i];
if(!viz[vec])
{
Q.push(vec);
viz[vec]=1;
c[vec]=c[nod]+1;
}
}
}
for(i=1;i<=n;i++)
if(!viz[i])
g << "-1" << ' ';
else
g << c[i] << ' ';
}
int main()
{
f >> n >> m >> s;
for(i=1;i<=m;i++)
{
f >> x >> y;
G[x].push_back(y);
}
bfs();
return 0;
}