Pagini recente » Cod sursa (job #3321185) | Cod sursa (job #3321183) | Cod sursa (job #3321173) | Cod sursa (job #990899) | Cod sursa (job #3321171)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 100000;
int parent[NMAX + 5];
int level[NMAX + 5];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N; cin >> N;
// Citim vectorul de parinti k_i
for (int i = 0; i < N; i++) {
cin >> parent[i];
}
// Calculam nivelurile
// Rădăcina are parent 0 și nivel 0
// Pentru ceilalti nivel[i] = nivel[parent[i]] + 1
level[0] = 0; // rădăcina
for (int i = 1; i < N; i++) {
level[i] = level[parent[i]] + 1;
}
// Afisam rezultatul
for (int i = 0; i < N; i++) {
cout << level[i] << " ";
}
cout << "\n";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 100000;
int parent[NMAX + 5];
int level[NMAX + 5];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N; cin >> N;
// Citim vectorul de parinti k_i
for (int i = 0; i < N; i++) {
cin >> parent[i];
}
// Calculam nivelurile
// Rădăcina are parent 0 și nivel 0
// Pentru ceilalti nivel[i] = nivel[parent[i]] + 1
level[0] = 0; // rădăcina
for (int i = 1; i < N; i++) {
level[i] = level[parent[i]] + 1;
}
// Afisam rezultatul
for (int i = 0; i < N; i++) {
cout << level[i] << " ";
}
cout << "\n";
return 0;
}