题目来源:
leetcode题目,网址:LCP 07. 传递信息 - 力扣(LeetCode)
解题思路:
暴力遍历即可。
解题代码:
class Solution {
public int numWays(int n, int[][] relation, int k) {
int[] res=new int[1];
for(int i=0;i<relation.length;i++){
if(relation[i][0]==0){
canPass(n,relation,k-1,relation[i][1],res);
}
}
return res[0];
}
public void canPass(int n,int[][] relation,int k, int source,int[] res){
if(k<0){
return;
}else if(k==0 && source==n-1){
res[0]++;
return ;
}
for(int i=0;i<relation.length;i++){
if(relation[i][0]==source){
canPass(n,relation,k-1,relation[i][1],res);
}
}
}
}
总结:
官方题解给出了深度优先搜索,广度优先搜索和动态规划三种解法。前两者都是暴力搜索。动态规划则是第 i+1 轮的方案数是第 i 轮的方案数经过一轮传递后的结果。