時間限制:1000 ms | 記憶體限制:65535 kb
難度:3
描述輸入
第一行是乙個整數t表示共有t組測試資料(t<=50)
每組測試資料都是兩個正整數m,n,其中(1<=n<=m<=100),分別表示要拆分的正數和拆分的正整數的個數。
輸出輸出拆分的方法的數目。
樣例輸入
2樣例輸出5 25 3
2**2
[張云聰]原創
上傳者張云聰
在整數劃分(一)的基礎上改編的,整數劃分(一)裡有詳解:
針對此題,方法和整數劃分(一)類似:
首先 定義f ( i , j )為整數 i 分成 j 個整數 的情況
經過分析可得f(i, j )可轉化為兩個部分:
一: 假設 分成的 j 個整數中 不包含1。。那麼 此時 f (i-j,j)就是這部分的總情況,既然想讓他不包含1,就先將j個整數都分為1,此時i變為i-j,再將i分為j個整數,這j個整數再加上原先分的1,就肯定不會再有1出現了。如果i-jf (i-j,j)的值為0
二: 假設分成的j個整數至少有乙個1。。那麼此時f(i-1,j-1)
**如下(一):
1 #include 2int f(int m,intn)3
11int
main()
1221
return0;
22}23//
ac24
//首先 定義f ( i , j )為整數 i 分成 j 個整數 的情況
25//
經過分析可得f(i, j )可轉化為兩個部分:
26//
一: 假設 分成的 j 個整數中 不包含1。。那麼 此時 f (i-j,j)就是這部分的總情況,既然想讓他不包含1,就先將j個整數都分為1,此時i變為i-j,再將i分為j個整數,這j個整數再加上原先分的1,就肯定不會再有1出現了。如果i-j27
//二: 假設分成的j個整數至少有乙個1。。那麼此時f(i-1,j-1)
28//
29
**如下(二):
1 #include 2int s[110][110];3
int f(int m,intn)4
14int
main()
1524
return0;
25}26//
ac
NYOJ 176 整數劃分(二)
整數劃分 二 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2 輸入第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m...
NYOJ 176 整數劃分(二) (dp)
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2 輸入 第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m 100 ...
nyoj 176 整數劃分(二) dp
題目鏈結 時間限制 1000 ms 記憶體限制 65535 kb 難度 3描述 把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2輸入 第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m 1...