POJ 1664 放蘋果 (基礎組合dp)
放蘋果
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 28626 | Accepted: 18106 |
Description
把M個同樣的蘋果放在N個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?(用K表示)5,1,1和1,5,1 是同一種分法。
Input
第一行是測試資料的數目t(0 <= t <= 20)。以下每行均包含二個整數M和N,以空格分開。1<=M,N<=10。
Output
對輸入的每組資料M和N,用一行輸出相應的K。
Sample Input
1 7 3
Sample Output
8
題目分析:設dp[i][j]表示i個蘋果放到j個盤子裡的方案數,首先0個蘋果和1個蘋果放到n個盤子裡的方案數都是1
當盤子數大於蘋果數(j > i)時,因為5,1,1和1,5,1是同一種,因此等價於i個蘋果放到i個盤子的方案數即dp[i][j] = dp[i][i]
當盤子數小於等於蘋果樹(j <= i)時,有兩種方案,一是每個盤子都至少有一個蘋果則等價於把i - j個蘋果放到i個盤子裡即dp[i - j][j],二是至少有一個盤子是空的,等價於把i個蘋果放到j-1個盤子裡即dp[i][j - 1],因此此時dp[i][j] = dp[i - j][j] + dp[i][j - 1],答案就是dp[m][n]
#include <cstdio>
#include <cstring>
int const MAX = 25;
int dp[MAX][MAX];
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
memset(dp, 0, sizeof(dp));
int m, n, ans = 0;
scanf("%d %d", &m, &n);
for(int j = 1; j <= n; j++)
dp[0][j] = dp[1][j] = 1;
for(int i = 2; i <= m; i++)
for(int j = 1; j <= n; j++)
dp[i][j] = (j > i) ? dp[i][i] : dp[i - j][j] + dp[i][j - 1];
printf("%d\n", dp[m][n]);
}
}
相關文章
- POJ-1664 放蘋果蘋果
- 「暑期訓練」「基礎DP」 Common Subsequence (POJ-1458)
- POJ 1947 Rebuilding Roads(基礎的樹形dp)Rebuild
- Java基礎06 組合Java
- 組合語言-基礎功能組合語言
- 組合語言-基礎知識組合語言
- 組合遊戲與博弈論基礎遊戲
- 【POJ 2249】 Binomial Showdown 組合數學 排列組合計算
- Pandas 基礎 (9) - 組合方法 merge
- lec 02 arm組合語言基礎組合語言
- Pandas 基礎 (8) - 用 concat 組合 dataframe
- QlikView Script 基礎教程3 -組合鍵處理View
- 狀壓DP基礎入門
- POJ1745Divisibility(dp)
- POJ2955 Brackets (區間DP)Racket
- codeforces 341C Iahub and Permutations(組合數dp)
- 組合語言實驗1—Debug基礎操作組合語言
- POJ 1850 Code/POJ 1496 Word Index(組合數學-字母串序號)Index
- 【基礎dp】HDU 1260 Tickets
- POJ 2486 Apple Tree(樹形dp)APP
- POJ 1925 Spiderman(線性dp)IDE
- POJ 3744 概率dp+矩陣矩陣
- Oracle分割槽表基礎運維-05組合分割槽Oracle運維
- MySQL--基礎知識點--65--組合查詢MySql
- java基礎:遍歷m取n的所有組合(轉)Java
- HDU 5326 Work (基礎樹形dp)
- POJ1160 Post Office[序列DP]
- 【dp】POJ 1015 Jury CompromisePromise
- POJ 3249-Test for Job(拓撲排序&&DP)排序
- POJ 3107 Godfather(樹形dp)Go
- POJ 3017 單調佇列dp佇列
- POJ 3691 DNA repair (AC自動機 + dp)AI
- 演算法學習筆記(16): 組合數學基礎演算法筆記
- 又有新概念?可組合基礎設施是什麼意思?
- 位元組碼基礎
- 放蘋果蘋果
- 專題十二 基礎DP1 題集
- 【基礎dp】HDU 1176 免費餡餅