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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

LCP 07. 传递信息

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

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

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

示例 1:

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

輸出:3

解釋:信息從小 A 編號(hào) 0 處開(kāi)始,經(jīng) 3 輪傳遞,到達(dá)編號(hào) 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)過(guò) 2 輪傳遞到編號(hào) 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)建一個(gè)鄰接矩陣,表示有向圖,從0節(jié)點(diǎn)出發(fā)進(jìn)行深度優(yōu)先搜索,查找到達(dá)n-1節(jié)點(diǎn),并且路程為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. 传递信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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