演算法提高 郵票面值設計
時間限制:1.0s 記憶體限制:256.0mb
提交此題 錦囊1 錦囊2
問題描述
給定乙個信封,最多隻允許貼上n張郵票,計算在給定k(n+k≤13)種郵票的情況下(假定所有的郵票數量都足夠),如何設計郵票的面值,能得到最大值max,使在1~max之間的每乙個郵資值都能得到。
例如,n=3,k=2,如果面值分別為1分、4分,則在1分~6分之間的每乙個郵資值都能得到(當然還有8分、9分和12分);如果面值分別為1分、3分,則在1分~7分之間的每乙個郵資值都能得到。可以驗證當n=3,k=2時,7分就是可以得到的連續的郵資最大值,所以max=7,面值分別為1分、3分。
輸入格式
一行,兩個數n、k
輸出格式
兩行,第一行公升序輸出設計的郵票面值,第二行輸出「max=xx」(不含引號),其中xx為所求的能得到的連續郵資最大值。
樣例輸入
3 2
樣例輸出
1 3
max=7
= =多重揹包,
以前的多重揹包的漏洞,這次補上。
for(int i=1;;i++)
//cout<
列舉空間,然後列舉物品。
#include
using
namespace
std;
int d[1000];
int n,k;int maxs=0;
int tag[100],p[100];
void dfs(int t,int s)
//coutn) break;sum=max(sum,i);
}//cout// // cout<<"***"maxs)
maxs=sum;
}for(int i=s+1;i<=sum+1;i++)
}int main()
cout
<<"max="
<}
郵票面值設計
stamps 郵票問題 題目描述 已知乙個 n 枚郵票的面值集合 如,和乙個上限 k 表示信封上能夠貼 k 張郵票。計算從 1 到 m 的最大連續可貼出的郵資。例如,假設有 1 分和 3 分的郵票 你最多可以貼 5 張郵票。很容易貼出 1 到 5 分的郵資 用 1 分郵票貼就行了 接下來的郵資也不難...
郵票面值設計
題目描述 給定乙個信封,最多隻允許貼上nn張郵票,計算在給定kk n k 15 種郵票的情況下 假定所有的郵票數量都足夠 如何設計郵票的面值,能得到最大值max,使在1至max之間的每乙個郵資值都能得到。例如,n 3,k 2,如果面值分別為1分 4分,則在1分 6分之間的每乙個郵資值都能得到 當然還...
wikioi 1047 郵票面值設計
同樣感觸很深的一道題,之前打表,後來自己寫了一遍 具體就是用深搜找方案,用dp判斷 一道很經典的dfs套dp,但是程式很多地方還需優化 void dfs int num,int tk,int m 當前數值,種數,估計能構成的最大值 maxn cnt return for int i check m,...