NKOI 1469 通向自由的鑰匙

2022-02-11 13:02:32 字數 1203 閱讀 5878

p1469通向自由的鑰匙

時間限制 : 10000 ms   空間限制 : 65536 kb

問題描述

通向自由的鑰匙被放n個房間裡,這n個房間由n-1條走廊連線。但是每個房間裡都有特別的保護魔法,在它的作用下,我無法通過這個房間,也無法取得其中的鑰匙。雖然我可以通過消耗能量來破壞房間裡的魔法,但是我的能量是有限的。那麼,如果我最先站在1號房間(1號房間的保護魔法依然是有效的,也就是,如果不耗費能量,我無法通過1號房間,也無法取得房間中的鑰匙),如果我擁有的能量為p,我最多能取得多少鑰匙?

輸入格式

第一行包含兩個非負整數,第乙個為n,第二個為p。

接下來n行,按1~n的順序描述了每個房間。第i+1行包含兩個非負整數cost和keys,分別為第i件房取消魔法需要耗費的能量和房間內鑰匙的數量。

接下來n-1行,每行兩個非負整數x,y,表示x號房間和y號是連通的。

輸出格式

一行乙個整數,表示取得鑰匙的最大值。

樣例輸入

5 51 2

1 11 1

2 33 4

1 21 3

2 42 5

樣例輸出

提示對於20%的測試資料,有n<=20

對於30%的測試資料,有n<=30

對於所有測試資料,有p,n<=100, cost <= 32767, keys<= 32767

1

//網路原因 尚未評測

2 #include3 #include4 #include5

using

namespace

std;

6#define maxn 6005

7bool

mark[maxn],s[maxn][maxn];

8int

l[maxn],r[maxn],n,p,cost[maxn],key[maxn];

9int

f[maxn][maxn];

10void dfs(int

x)18}19

}20void dp(int

i)29}30

intmain()

3139 dfs(1

);40 dp(1

);41 printf("

%d",f[1

][p]);

42return0;

43 }

NKOI 1469 通向自由的鑰匙

通向自由的鑰匙 time limit 10000ms memory limit 65536k total submit 96 accepted 39 case time limit 1000ms description 通向自由的鑰匙被放n個房間裡,這n個房間由n 1條走廊連線。但是每個房間裡都有特...

NKOI 1469 通向自由的鑰匙

p1469通向自由的鑰匙 時間限制 10000 ms 空間限制 65536 kb 問題描述 通向自由的鑰匙被放n個房間裡,這n個房間由n 1條走廊連線。但是每個房間裡都有特別的保護魔法,在它的作用下,我無法通過這個房間,也無法取得其中的鑰匙。雖然我可以通過消耗能量來破壞房間裡的魔法,但是我的能量是有...

動態規劃 通向自由的鑰匙

通向自由的鑰匙 key.pas c cpp 通向自由的鑰匙被放n個房間裡,這n個房間由n 1 條走廊連線。但是每個房間裡都有 特別的保護魔法,在它的作用下,我無法通過這個房間,也無法取得其中的鑰匙。雖然我可 以通過消耗能量來破壞房間裡的魔法,但是我的能量是有限的。那麼,如果我最先站在 1 號房間 1...