P1910 L國的戰鬥之間諜 By C

2021-09-10 12:32:40 字數 1214 閱讀 6401

l國即將與i國發動戰爭!!

俗話說的好:「知己知彼,百戰不殆」。l國的指揮官想派出間諜前往i國,於是,選人工作就落到了你身上。

你現在有n個人選,每個人都有這樣一些資料:a(能得到多少資料)、b(偽裝能力有多差)、c(要多少工資)。已知敵人的探查間諜能力為m(即去的所有人b的和要小於等於m)和手頭有x元錢,請問能拿到多少資料?

輸入格式:

n m x

a1 b1 c1

a2 b2 c2

an bn cn

輸出格式:

能得到的資料總數

輸入樣例#1:複製

3 10 12

10 1 11

1 9 1

7 10 12

輸出樣例#1:複製

11
二維動態規劃(dfs應該也可以)

遞推公式:

for(int i = 1; i <= n; i++)

for(int b = m; b >= b[i]; b--)

for(int c = x; c >= c[i]; c--)

dp[b][c] = max(dp[b][c], dp[b-b[i]][c-c[i]]+a[i]);

動態規劃**:

#include using namespace std;

int main(), b[n+2] = , c[n+2] = ;

//所有人偽裝能力之和為m+2,資金為x+2所能得到的資料的最大值

int dp[m+2][x+2] = ;

for(int i = 1; i <= n; i++)

cout << dp[m][x] << endl;

return 0;

}

dfs演算法:

#include using namespace std;

struct spy

;int n, m, x,res = 0;

spy spy[102];

void dfs(int numb, int pretend, int salary, int data)

int main()

洛谷P1910 L國的戰鬥之間諜

l國即將與i國發動戰爭!俗話說的好 知己知彼,百戰不殆 l國的指揮官想派出間諜前往i國,於是,選人工作就落到了你身上。你現在有n個人選,每個人都有這樣一些資料 a 能得到多少資料 b 偽裝能力有多差 c 要多少工資 已知敵人的探查間諜能力為m 即去的所有人b的和要小於等於m 和手頭有x元錢,請問能拿...

洛谷 P1910 L國的戰鬥之間諜

l國即將與i國發動戰爭!俗話說的好 知己知彼,百戰不殆 l國的指揮官想派出間諜前往i國,於是,選人工作就落到了你身上。你現在有n個人選,每個人都有這樣一些資料 a 能得到多少資料 b 偽裝能力有多差 c 要多少工資 已知敵人的探查間諜能力為m 即去的所有人b的和要小於等於m 和手頭有x元錢,請問能拿...

洛谷 P1910 L國的戰鬥之間諜

l國即將與i國發動戰爭!俗話說的好 知己知彼,百戰不殆 l國的指揮官想派出間諜前往i國,於是,選人工作就落到了你身上。你現在有n個人選,每個人都有這樣一些資料 a 能得到多少資料 b 偽裝能力有多差 c 要多少工資 已知敵人的探查間諜能力為m 即去的所有人b的和要小於等於m 和手頭有x元錢,請問能拿...