將正整數n 表示成一系列正整數之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。
正整數n 的這種表示稱為正整數n 的劃分。
input
標準的輸入包含若干組測試資料。每組測試資料是一行輸入資料,包括兩個整數n 和 k。
(0 < n <= 50, 0 < k <= n)
output
對於每組測試資料,輸出以下三行資料:
第一行: n劃分成k個正整數之和的劃分數目
第二行: n劃分成若干個不同正整數之和的劃分數目
第三行: n劃分成若干個奇正整數之和的劃分數目
sample input
5 2sample output
2hint33
第一行: 4+1, 3+2,
第二行: 5,4+1,3+2
第三行: 5,1+1+3, 1+1+1+1+1+1
#include #include #include using namespace std;
int n,k;
int dp1[55][55];//dp1[i][j]是把整數i分成j份
int dp2[55][55];//分成若干個不相等整數
int g[55][55];//分成若干偶數
int f[55][55];//分成若干奇數
void ac1()
}cout<=j)
else}}
cout<>n>>k)
return 0;
}
4119 複雜的整數劃分問題
總時間限制 200ms 記憶體限制 65536kb 描述將正整數n 表示成一系列正整數之和,n n1 n2 nk,其中n1 n2 nk 1 k 1 正整數n 的這種表示稱為正整數n 的劃分。輸入標準的輸入包含若干組測試資料。每組測試資料是一行輸入資料,包括兩個整數n 和 k。0 n 50,0 k n...
Openjudge 百練 03 複雜的整數劃分問題
總時間限制 200ms 記憶體限制 65536kb 描述 將正整數 n 表示成一系列正整數之和,n n1 n2 nk,其中n1 n2 nk 1 k 1 正整數 n 的這種表示稱為正整數 n 的劃分。輸入標準的輸入包含若干組測試資料。每組測試資料是一行輸入資料,包括兩個整數n 和 k。0 n 50,0...
dp演算法 poj 4119 複雜的整數劃分問題
總時間限制 200ms 記憶體限制 65536kb 描述將正整數n 表示成一系列正整數之和,n n1 n2 nk,其中n1 n2 nk 1 k 1 正整數n 的這種表示稱為正整數n 的劃分。輸入標準的輸入包含若干組測試資料。每組測試資料是一行輸入資料,包括兩個整數n 和 k。0 n 50,0 k n...