14225 Seafu
Never
#include<stdio.h> #include<stdlib.h> int direct[1001]; int distance[1001]; int child[1001]; int n; typedef struct Node { int id; struct Node *childnode[1000]; } Node; Node *create_node(int id){ Node *newnode = (Node*)malloc(sizeof(Node)); newnode->id = id; for(int i=0;i<child[id];i++){ newnode->childnode[i] = NULL; } return newnode; } Node *buildtree(int n,int *direct){ int nodenum[n+1]; for(int i=1;i<=n;i++){ nodenum[i] = 0; } Node *root = create_node(1); Node *nodes[n+1]; nodes[1] = root; for(int i=2;i<=n;i++){ Node *parent = nodes[direct[i-2]]; Node *node = create_node(i); parent->childnode[nodenum[parent->id]++] = node; nodes[i] = node; } return root; } void calculate(Node *root,int level,int *distance){ if(root == NULL) return; distance[(root->id)-1] = level; for(int i=0;i<child[root->id];i++){ calculate(root->childnode[i],level+1,distance); } } int find(int *direct,int student,int level){ if(level == 0) return direct[student-2]; if(level > 0 && student ==2) return -1; find(direct,direct[student-2],level-1); } void freeTree(Node *root){ if(root == NULL) return; for(int i=0;i<child[root->id];i++) freeTree(root->childnode[i]); //printf("%d ",root->id); free(root); } int main(void){ scanf("%d",&n); for(int i=0;i<n;i++){ child[i] = 0; } for(int i=0;i<n-1;i++){ scanf("%d",&direct[i]); child[direct[i]]++; } Node *root = buildtree(n,direct); calculate(root,0,distance); for(int i=1;i<n-1;i++) printf("%d ",distance[i]); printf("%d",distance[n-1]); printf("\n"); int q; scanf("%d",&q); for(int i=0;i<q;i++){ int A,B; scanf("%d %d",&A,&B); if(B == 0) printf("-1\n"); else{ printf("%d\n",find(direct,A,B-1)); } } freeTree(root); return 0; }
Raw Text
-
♥️♥️PEDOMON//PEDOSISTER♥️♥️
10 min ago
-
Smart Hemp Cbd Gummies Australia (Best Pain Relief 2024 Scam)
28 min ago
-
Pedowoman boy
31 min ago
-
Russian tEE333ns
31 min ago
-
P4CK M3G4 FIL3S T.I.E.R
32 min ago
-
720GB CeePee
32 min ago
-
( C H I L D P O R N )
33 min ago
-
Candy Girls 🧬🧬🧬🧬
33 min ago
-
MEGA PACK C...P CALDO DE POLLO NUEVO MEDIAFIRE UPFILE pubnotep...
33 min ago
-
CPLOLI
34 min ago