Pagini recente » Cod sursa (job #2238773) | Cod sursa (job #1128255) | Cod sursa (job #1142256) | Cod sursa (job #811429) | Cod sursa (job #2577733)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bfs.in");
ofstream f2("bfs.out");
int a[100][100], viz[1000], N, M, S, i, j, x, y, ultim, el, coada[1000];
int main()
{
int finale[6], andi = 1, control = 1, newulti;
f >> N >> M >> S;
for(i = 1; i <= N; i++){
for(j = 1; j <= N; j++){
a[i][j] = 0;
}
}
for(i = 1; i <= M; i++){
f >> x >> y;
a[x][y] = 1;
}
for(i = 1; i <= N; i++){
for(j = 1; j <= N; j++){
cout << a[i][j] << " ";
}
cout << endl;
}
for(i = 1; i <= N; i++){
viz[i] = 0;
}
viz[S] = 1;
coada[1] = S;
ultim = 1;
for(i = 1; i <= N; i++){
bool executed = false;
el = coada[i];
for(j = 1; j <= N; j++){
if(a[el][j] == 1 && viz[j] == 0){
executed = true;
ultim++;
coada[ultim] = j;
viz[j] = 1;
finale[j] = andi;
}
}
if(executed){
andi++;}
}
finale[S] = 0;
for(i = 1; i <= N; i++){
if(viz[i] == 0){
finale[i] = -1;
}
}
for(i = 1; i <= N; i++){
f2 << finale[i] << " ";
}
return 0;
}