작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
146
0
#include <bits/stdc++.h>
using namespace std;
int n,a[52],k,ret;
vector<int> adj[52];
bool b[52];
void cut(int node){
b[node] = false;
for(int s : adj[node]){
cut(s);
}
}
int main(){
//입력 받기
cin >> n;
for(int i = 0; i < n; i++){
cin >> a[i];
if(a[i]!=-1) adj[a[i]].push_back(i);
b[i] = true;
}
cin >> k;
// 노드 삭제
cut(k);
for(int i = 0; i < n; i++){
if(adj[i].size() == 0 && b[i] == true) ret++;
}
cout << ret;
}
//테스트 케이스 통과 but 틀림..