2019 12 13 數的劃分

2022-05-08 19:57:06 字數 1060 閱讀 7045

題目描述

將整數 \(n\) 分成 \(k\) 份,且每份不能為空,問有多少種不同的分法。當 \(n=7, k=3\) 時,下面三種分法被認為是相同的:\(1,1,5\); \(1,5,1\); \(5,1,1\).

輸入格式

一行兩個數 \(n\) , \(k\)。

輸出格式

一行乙個整數,即不同的分法數。

樣例

樣例輸入

7 3
樣例輸出
4
樣例解釋

四種分法為:\(1,1,5\);\(1,2,4\);\(1,3,3\);\(2,2,3\)。

資料範圍與提示

\(6 \leq n \leq 200,\)

\(2 \leq k \leq 6\)。

簡單搜尋剪枝。

每次從上次的開始搜尋。然後如果沒法取的比上乙個大就返回。

#include#include#include#include#include#include#define int long long

#define rep(i,a,n) for(register int i=a;i<=n;++i)

#define dwn(i,n,a) for(register int i=n;i>=a;--i)

using namespace std;

int n,k,ans;

inline int read()

while(isdigit(ch))

return x*f;

}void write(int x)

void dfs(int rem,int last,int step)

if(rem&&step>=k)return;

if(last>rem&&steprep(i,last,rem)

return;

}signed main()

A 數的劃分

a 數的劃分 將整數n 分成 k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 第一行有兩個整數 n,k 6sample input 7 3 sample output 解題思路...

wikioi 數的劃分

題目描述 description 將整數n分成k份,且每份不能為空,任意兩種劃分方案不能相同 不考慮順序 例如 n 7,k 3,下面三種劃分方案被認為是相同的。1 1 5 1 5 1 5 1 1 問有多少種不同的分法。輸入描述 input description 輸入 n,k 6 題解 f i,j ...

1039 數的劃分

題目描述 description 將整數n分成k份,且每份不能為空,任意兩種劃分方案不能相同 不考慮順序 例如 n 7,k 3,下面三種劃分方案被認為是相同的。1 1 5 1 5 1 5 1 1 問有多少種不同的分法。輸入描述 input description 輸入 n,k 6輸出描述 outpu...