cgy12306
[백준 BoJ] 1068 - 트리 본문
// https://www.acmicpc.net/problem/1068
// 트리
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
int del, N;
vector<int> tree[51];
bool deleted[51];
void bfs(int start) {
queue<int> que;
que.push(start);
while (!que.empty()) {
int leaf = que.front();
que.pop();
deleted[leaf] = true;
for (int i = 0; i < tree[leaf].size(); i++) {
if (deleted[tree[leaf][i]]) continue;
que.push(tree[leaf][i]);
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int parent;
cin >> N;
for (int child = 0; child < N; child++) {
cin >> parent;
if (parent == -1) continue;
else {
tree[parent].push_back(child);
}
}
cin >> del;
bfs(del);
int cnt = 0;
for (int i = 0; i < N; i++) {
if (!deleted[i]) {
int delLeaf = 0;
for (int j = 0; j < tree[i].size(); j++) {
if (deleted[tree[i][j]])delLeaf++;
}
if (delLeaf == tree[i].size()) cnt++;
}
}
cout << cnt;
}
'Algorithm > C++' 카테고리의 다른 글
[백준 BoJ] 1967 - 트리의 지름 (0) | 2021.08.10 |
---|---|
[백준 BoJ] 14675 - 단절점과 단절선 (0) | 2021.08.10 |
[백준 BoJ] 5639 - 이진 검색 트리 (0) | 2021.08.06 |
[백준 BoJ] 1991 - 트리 순회 (0) | 2021.08.04 |
[백준 BoJ] 11286 - 절댓값 힙 (0) | 2021.07.05 |
Comments