LCP 07 傳遞資訊

2022-05-13 08:55:48 字數 1531 閱讀 8725

小朋友 a 在和 ta 的小夥伴們玩傳資訊遊戲,遊戲規則如下:

有 n 名玩家,所有玩家編號分別為 0 ~ n-1,其中小朋友 a 的編號為 0

每個玩家都有固定的若干個可傳資訊的其他玩家(也可能沒有)。傳資訊的關係是單向的(比如 a 可以向 b 傳資訊,但 b 不能向 a 傳資訊)。

每輪資訊必須需要傳遞給另乙個人,且資訊可重複經過同乙個人

給定總玩家數 n,以及按 [玩家編號,對應可傳遞玩家編號] 關係組成的二維陣列 relation。返回資訊從小 a (編號 0 ) 經過 k 輪傳遞到編號為 n-1 的小夥伴處的方案數;若不能到達,返回 0。

示例 1:

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

輸出:3

解釋:資訊從小 a 編號 0 處開始,經 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 處經過 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]

dfs

class

solution:

def numways(self, n: int, relation: list[list[int]], k: int) ->int:

self.n,self.k,self.res=n,k,0

self.dict=collections.defaultdict(list)

for x,y in

relation:

self.dfs(0,0)

return

self.res

defdfs(self,index,num):

if num==self.k:

if index==self.n-1:

self.res+=1

return

for i in

self.dict[index]:

self.dfs(i,num+1)

dp

class

solution:

def numways(self, n: int, relation: list[list[int]], k: int) ->int:

a=[1]+[0]*(n-1)

for i in

range(k):

b=[0]*n

for x,y in

relation:

b[y]+=a[x]

a=breturn a[-1]

元件間傳遞資訊

父元件到子元件通訊 1 prop 父子元件 父子通訊中最常見的資料傳遞方式就是通過props傳遞資料,就好像方法的傳參一樣,父元件呼叫子元件並傳入資料,子元件接受到父元件傳遞的資料進行驗證使用 props 可以是陣列或物件,用於接收來自父元件的資料。props 可以是簡單的陣列,或者使用物件作為替代...

iframe父子傳遞資訊

1.子向父通訊 parent.html window.addeventlistener message function e child.html window.parent.postmessage 2.父向子通訊 parent.html var myframe document.getelemen...

C 視窗傳遞資訊

方法1 在form1中通過postmessage傳送訊息,在form2通過defwndproc截獲訊息來相互作用,具體參見我先前的文章 c 收發和處理自定義的windows訊息 方法2通過第三方 公共類的公共靜態成員來實現 class class1 在form1中賦值class1.str 傳入的內容...