郵票面值設計

2022-09-08 03:57:13 字數 1121 閱讀 3656

題目描述 給定乙個信封,最多隻允許貼上nn張郵票,計算在給定kk(n+k≤15)種郵票的情況下(假定所有的郵票數量都足夠),如何設計郵票的面值,能得到最大值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分。

輸入輸出格式 輸入格式: 2個整數,代表n,k。

輸出格式: 2行。第一行若干個數字,表示選擇的面值,從小到大排序。

第二行,輸出「max=s」,s表示最大的面值。

輸入輸出樣例 輸入樣例#1: 複製 3 2 輸出樣例#1: 複製 1 3 max=7

(嚴重投訴洛谷的題目複製,每次數字和字母都是2份,害的我寫部落格時一驚,以為自己寫錯了)

純的搜尋(終於用正解做了)

dfs不用多解釋了吧

不過在討論區看見一大佬打表的,如果有興趣可以看一看

#include#include

#include

#include

#define maxn 350

using

namespace

std;

inline

intread()

while(ch>='

0'&&ch<='

9') s=s*10+ch-'

0',ch=getchar();

return s*w;}//

快讀用上癮了

inta[maxn],n,k,b[maxn],f[maxn],ans;

void dfs(int

now)

break

; }

}if(now==k) return

;

for(int i=v+1;i>a[now];--i)

}int

main()

printf("\n

");printf(

"max=%d

",ans);

return0;

}

郵票面值設計

演算法提高 郵票面值設計 時間限制 1.0s 記憶體限制 256.0mb 提交此題 錦囊1 錦囊2 問題描述 給定乙個信封,最多隻允許貼上n張郵票,計算在給定k n k 13 種郵票的情況下 假定所有的郵票數量都足夠 如何設計郵票的面值,能得到最大值max,使在1 max之間的每乙個郵資值都能得到。...

郵票面值設計

stamps 郵票問題 題目描述 已知乙個 n 枚郵票的面值集合 如,和乙個上限 k 表示信封上能夠貼 k 張郵票。計算從 1 到 m 的最大連續可貼出的郵資。例如,假設有 1 分和 3 分的郵票 你最多可以貼 5 張郵票。很容易貼出 1 到 5 分的郵資 用 1 分郵票貼就行了 接下來的郵資也不難...

wikioi 1047 郵票面值設計

同樣感觸很深的一道題,之前打表,後來自己寫了一遍 具體就是用深搜找方案,用dp判斷 一道很經典的dfs套dp,但是程式很多地方還需優化 void dfs int num,int tk,int m 當前數值,種數,估計能構成的最大值 maxn cnt return for int i check m,...