Pagini recente » Cod sursa (job #1569343) | Cod sursa (job #2573569) | Cod sursa (job #1884114) | Cod sursa (job #1432684) | Cod sursa (job #694885)
Cod sursa(job #694885)
#include <fstream>
#include <vector>
#define nm 100005
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
vector <int> v[nm];
int n, m, s, viz[nm];
void bfs(int s)
{
int nod, c[nm], p, u;
for(int i = 1; i <= n; i ++)
viz[i] = -1;
c[0] = s;
viz[s] = 0;
p = 0;
u = 0;
while(p <= u)
{
nod = c[p];
p ++;
for(int i = 0; i < v[nod].size(); i ++)
if(viz[v[nod][i]] == -1)
{
u ++;
viz[v[nod][i]] = viz[nod] + 1;
c[u] = v[nod][i];
}
}
}
int main()
{
int x, y;
f >> n >> m >> s;
while(f >> x >> y)
v[x].push_back(y);
bfs(s);
for(int i = 1; i <= n; i ++)
g << viz[i] << ' ';
}