풀이
잘 짜주자.
코드
#include <stdio.h>
int n, i, now, del, cnt, gph[51], idg[51];
int main() {
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &gph[i]);
if (~gph[i]) idg[gph[i]]++;
}
scanf("%d", &del);
if (gph[del] == -1) return !printf("0");
idg[gph[del]]--;
for (i = 0; i < n; i++) {
if (idg[i]) continue;
cnt++;
for (now = i; ~now; now = gph[now]) if (now == del) {
cnt--; break;
}
}
printf("%d", cnt);
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이