题目链接:NC26
题意、输入、输出:
代码:
import java.util.*;
public class Solution {
/**
* 算法交流群
* @param n int整型 群员个数
* @param a int整型一维数组 群员的等级
* @param p int整型一维数组 群友寻求帮助的人
* @param k int整型一维数组 群友产生的问题等级
* @return int整型一维数组
*/
int[] cnt;
int[] a;
int[] p;
public int[] solve (int n, int[] a, int[] p, int[] k) {
// write code here
cnt=new int[n];
this.a=a;
this.p=p;
for(int i=0;i<n;i++){
dfs(i,k[i]);
}
return cnt;
}
void dfs(int n,int q){
if(q<=a[n]){
cnt[n]++;
return;
}
if(n==0){
return;
}
dfs(p[n-1]-1,q);
}
}
会超时