整數劃分(二)
時間限制: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),分別表示要拆分的正數和拆分的正整數的個數。
輸出輸出拆分的方法的數目。
樣例輸入
25 2
5 3樣例輸出
2用動態dp[i][j]表示i劃分為不超過j個數的劃分數,則n劃分為m個的劃分數就是dp[n][m]-dp[n][m-1];
動態規劃方程為:dp[i][j]=dp[i][j-1]+dp[i-j][j](記得如果i-jac**:
# include # include using namespace std;
typedef long long int ll;
ll dp[110][110];
const int maxn=100;
int main()
else
} }scanf("%d", &t);
for(i=1; i<=t; i++)
return 0;
}
nyoj 176 整數劃分(二)
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述輸入 第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m 100 分別表示要拆分的正數和拆分的正整數的個數。輸出輸出拆分的方法的數目。樣例輸入 2 5 25 3 樣例輸出 2 2 ...
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...