日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LCP 07. 传递信息

發(fā)布時間:2023/11/29 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LCP 07. 传递信息 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

小朋友 A 在和 ta 的小伙伴們玩?zhèn)餍畔⒂螒?#xff0c;游戲規(guī)則如下:

有 n 名玩家,所有玩家編號分別為 0 ~ n-1,其中小朋友 A 的編號為 0
每個玩家都有固定的若干個可傳信息的其他玩家(也可能沒有)。傳信息的關(guān)系是單向的(比如 A 可以向 B 傳信息,但 B 不能向 A 傳信息)。
每輪信息必須需要傳遞給另一個人,且信息可重復(fù)經(jīng)過同一個人
給定總玩家數(shù) n,以及按 [玩家編號,對應(yīng)可傳遞玩家編號] 關(guān)系組成的二維數(shù)組 relation。返回信息從小 A (編號 0 ) 經(jīng)過 k 輪傳遞到編號為 n-1 的小伙伴處的方案數(shù);若不能到達,返回 0。

示例 1:

輸入:n = 5, relation = [[0,2],[2,1],[3,4],[2,3],[1,4],[2,0],[0,4]], k = 3

輸出:3

解釋:信息從小 A 編號 0 處開始,經(jīng) 3 輪傳遞,到達編號 4。共有 3 種方案,分別是 0->2->0->4, 0->2->1->4, 0->2->3->4。

示例 2:

輸入:n = 3, relation = [[0,2],[2,1]], k = 2

輸出:0

解釋:信息不能從小 A 處經(jīng)過 2 輪傳遞到編號 2

限制:

2 <= n <= 10
1 <= k <= 5
1 <= relation.length <= 90, 且 relation[i].length == 2
0 <= relation[i][0],relation[i][1] < n 且 relation[i][0] != relation[i][1]

解題思路

構(gòu)建一個鄰接矩陣,表示有向圖,從0節(jié)點出發(fā)進行深度優(yōu)先搜索,查找到達n-1節(jié)點,并且路程為k的路徑

代碼

class Solution {public int numWays(int n, int[][] relation, int k) {boolean[][] graph = new boolean[n][n];for (int[] rel : relation) {graph[rel[0]][rel[1]]=true;}return dfsNumWays(0,graph,k);}public int dfsNumWays(int n, boolean[][] relation, int k) {if(k==0) {return n==relation.length-1?1:0;}int ret=0;for (int i=0;i<relation.length;i++){if(relation[n][i])ret+=dfsNumWays(i,relation,k-1);}return ret;} }

總結(jié)

以上是生活随笔為你收集整理的LCP 07. 传递信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。