CODEVS 1047 郵票面值設計
1047 郵票面值設計
1999年NOIP全國聯賽提高組
時間限制: 1 s 空間限制: 128000 KB 題目等級 : 鉆石 Diamond題目描述 Description
給定一個信封,最多只允許粘貼N張郵票,計算在給定K(N+K≤40)種郵票的情況下(假定所有的郵票數量都足夠),如何設計郵票的面值,能得到最大值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
輸出描述 Output Description每種郵票的面值,連續最大能到的面值數。數據保證答案唯一。
樣例輸入 Sample Input3 2
樣例輸出 Sample Output1 3
MAX=7
思路:
先用dfs+剪枝找出所以符合要求的郵票種類,再用dp(01背包)。
看代碼:
#include <iostream> |
CODEVS 1047 郵票面值設計