Pagini recente » Cod sursa (job #1553741) | Cod sursa (job #2589696) | Cod sursa (job #2542066) | Cod sursa (job #1549963) | Cod sursa (job #591895)
Cod sursa(job #591895)
# include <fstream>
# include <vector>
using namespace std;
ifstream f ("bfs.in");
ofstream g ("bfs.out");
vector <int> v[100010];
int n, m, S, i, x, y, sol[100010], abc;
void make (int S, int pasi){
sol[S] = pasi;
int siz = v[S].size ();
for (int k = 0; k < siz; ++k){
int val = v[S][k];
if (!sol[val])
make (val, pasi + 1);
}
}
int main (){
f >> n >> m >> S;
abc = 1;
for (i = 1; i <= m; ++i){
f >> x >> y;
if (x == S && y == S) abc = 0;
v[x].push_back (y);
}
make (S, 1);
sol[S] -= abc;
for (i = 1; i <= n; ++i)
g << sol[i] - 1 << ' ';
g.close ();
return 0;
}