伺服器好好玩
lcy0x1去伺服器的系統商店賣東西。
乙個人的揹包有21格。
一開始他的揹包裡有m件不同的物品(不能賣)。
他要賣n種物品,每種物品有ai件,價值bi,一格可以放ci個,
名字sti(0
相同的物品可以放同一格(只要沒放滿)。
問他跑一次最多能賣多少錢。
輸入格式:
第一行m,n(0<=m<=21,0<=n<=100);
下面n行 ai,bi,ci,sti(0<=ai<=1344,0<=bi<=10000,0
輸出格式:
最多賣的錢s(0<=s<=1000000);
輸入樣例#1: 複製
20 363 1 64 yinshifen
1 10 1 men
1 1 64 yinshifen
輸出樣例#1: 複製
64
多重揹包
搜尋0分!!!
強大的資料
思路:預處理+01揹包。
#include#include#include
#include
#include
#include
#include
//用stl的map的標頭檔案
using
namespace
std;
int dp[30],w[150000
];map
a,b,c;
mapd;
string s[105
];int
main()
k=0;
for(i=1;i<=n;i++)
if(a[s[i]]) w[++k]=a[s[i]]*b[s[i]];}}
for(i=1;i<=k;i++)
}cout
}
洛谷 P1964 mc生存 賣東西
伺服器好好玩 lcy0x1去伺服器的系統商店賣東西。乙個人的揹包有21格。一開始他的揹包裡有m件不同的物品 不能賣 他要賣n種物品,每種物品有ai件,價值bi,一格可以放ci個,名字sti 0相同的物品可以放同一格 只要沒放滿 問他跑一次最多能賣多少錢。第一行m,n 0 m 21,0 n 100 下...
洛谷題解 P1964 mc生存 賣東西
lcy0x1去伺服器的系統商店賣東西。乙個人的揹包有21格。一開始他的揹包裡有m件不同的物品 不能賣 他要賣n種物品,每種物品有ai件,價值bi,一格可以放ci個,名字sti 0相同的物品可以放同一格 只要沒放滿 問他跑一次最多能賣多少錢。第一行m,n 0 m 21,0 n 100 下面n行 ai,...
洛谷P1964 mc生存 賣東西 題解 多重揹包
對於第 i 件物品 然後對這些物品進行多重揹包即可。然後這裡需要注意的一點是樣例中的第 1 件 和 第 3 件物品屬於同一件物品,所以可以放到同乙個格仔裡。然後我希望題目的資料能夠保證 同一件物品的價值 b i 都得一樣 不然解決起來就很麻煩。ac則保證此條件滿足 實現 如下 include usi...