野貓過生日,大家當然會送禮物了(咳咳,沒送禮物的同志注意了哈!!),由於不知道送什麼好,又考慮到實用性等其他問題,大家決定合夥給野貓買乙個生日蛋糕。大家不知道最後要買的蛋糕的準確**,而只會給蛋糕估價,即要買乙個不超過多少錢的蛋糕。眾oier藉此發揮:能否用最少的錢幣數去湊成估價範圍內的所有價值,使得不管蛋糕價值多少,都不用找錢……
現在問題由此引出:對於乙個給定的n,能否用最少的不等的正整數去組成n以內(包括n)的所有的正整數呢?如果能,最少需要多少個正整數,用最少個數又有多少不同的組成方法呢?
只有一行包含乙個整數n(1<=n<=1000)。
一行兩個數,第乙個數是最少需要多少個數,第二個數是用最少個數的組成方案個數。兩個答案用空格分隔。
6
3
2
各個測試點2s
最少用三個數,有兩種方法,分別是:1,2,3和1,2,4。
對於1,2,3有1,2,3,1+3,2+3,1+2+3;
對於1,2,4有1,2,1+2,4,1+4,2+4。
傳送門
參考大佬思路:
先列舉一下有哪些情況,然後找規律
#include
#include
#include
#include
using
namespace std;
const
int maxn =
1002
;int len, ans, n;
void
dfs(
int k,
int maxx,
int sum)
if(k == len)
return;}
for(
int i = maxx +
1; i <= sum +
1; i++
)dfs
(k +
1, i, sum + i);}
intmain()
#include
#include
#include
#include
using
namespace std;
const
int maxn =
1002
;int dp[maxn]
[maxn]
;int len, ans, n;
void
dfs(
int k,
int maxx,
int sum)
for(
int i = maxx +
1; i <= sum +
1; i++)}
intmain()
11 5執行緒終止
如果程序中的任一線程呼叫了exit,exit 或者 exti,那麼整個程序會終止。類似的,當預設動作是終止程序,傳送到執行緒的訊號會終止整個程序。在12.8節中我們會討論更多執行緒和訊號間的互動與通訊 乙個單執行緒有三種退出方式,在不終止整個程序的情況下,終止執行緒的控制流。1.執行緒從啟動例程中返...
1 15 考試總結
題目鏈結 題意 給定乙個無向有權圖,通過一條邊的時間為邊權,每過去一單位時間,每乙個點都會積累 q 公釐雪,初始雪厚 h 雪積累到 l 以上就不能行走 起點,終點不算 求出 s 到 t 的最短時間.有限制條件的最短路,只需在跑 dijkstra 或 spfa 的時候稍微判斷一下即可.include ...
1 15 構造數獨
一 用回溯法構造數獨 include include include include include using namespace std int sudu 9 9 void sudu print int sudu 9 cout endl bool is digital sudu int sudu...