日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > POJ - 1664 放蘋果

POJ - 1664 放蘋果

來源:程序員人生   發(fā)布時間:2016-12-05 14:00:45 閱讀次數(shù):2657次

題目:

Description

把M個一樣的蘋果放在N個一樣的盤子里,允許有的盤子空著不放,問共有多少種不同的分法?(用K表示)5,1,1和1,5,1 是同1種分法。

Input

第1行是測試數(shù)據(jù)的數(shù)目t(0 <= t <= 20)。以下每行均包括2個整數(shù)M和N,以空格分開。1<=M,N<=10。

Output

對輸入的每組數(shù)據(jù)M和N,用1行輸出相應(yīng)的K。

Sample Input

1 7 3

Sample Output

8

這個題目自然是遞歸,但是否是所有人的遞歸式都是1樣的。

假定本題對應(yīng)的答案是list[n][m],n,m非負,

那末首先,當n為0時list[0][i] = (i == 0);

其次,找遞歸式。

如果這n個盤子里面,存在空盤子,那末去掉它,就變成“把m個相同的蘋果放入n⑴個相同的盤子”這個子問題了。

否則,每一個盤子都最少有1個蘋果,那末去掉這n個蘋果,就變成“把m-n個蘋果放入n個相同的盤子”這個子問題了。

所以,遞歸式就是list[n][m]=list[n⑴][m]+list[n][m-n]

這個m-n必須為非負的,這1點,和0⑴背包非常相像。

準確的說,這個組合題目的子問題集的拓撲結(jié)構(gòu)和0⑴背包是1樣的

也就是說,如果這個題目只有1組m,n,那末本題就不需要2維數(shù)組,只需要1維數(shù)組,便可利用0⑴背包的空間緊縮方法算出結(jié)果。詳情點擊打開我的博客(0⑴背包)

下面的代碼,雖然沒有這樣,但是初始化的順序卻是1樣的。

代碼:

#include<iostream> #include<stdio.h> using namespace std; const int l = 11; int list[l][l]; void getList() { for (int i = 0; i < l; i++)list[0][i] = (i == 0); for (int i = 1; i < l; i++)for (int j = 0; j < l; j++) { list[i][j] = list[i - 1][j]; if (j >= i)list[i][j] += list[i][j - i]; } } int main() { getList(); int t, m, n; scanf("%d", &t); while (t--) { scanf("%d%d", &m, &n); printf("%d\n", list[n][m]); } return 0; }

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产一区二区三区欧美 | 国产一区二区三区欧美 | 久久免费视频在线 | 视频在线国产 | 午夜精品久久久久久久99 | 91人人 | 亚洲日本国产 | 欧美成人一区二区三区 | 日韩一级片一区二区 | 国产综合精品一区二区三区 | 91精品国产乱码久久久久久久久 | 毛片毛片毛片毛片毛片毛片 | 日韩精品一级 | 欧美日韩一区二区三区视频 | 在线观看日韩av | 美女很黄很黄免费的 | 一区二区久久久 | 日韩一道本| 丰满少妇高潮惨叫久久久久 | 国产视频1| 亚洲专区欧美专区 | 99免费精品 | www.日韩视频 | 久9精品| 91成人免费视频 | 久久久在线视频 | 欧洲色网站| 91精品国产99久久久 | 欧美日韩一二三四区 | 亚洲一区二区视频在线 | 黄视频免费 | 亚洲午夜在线观看 | 免费一区二区 | 欧美三四区 | wwwav在线| 欧美色欧美亚洲另类二区 | 三级av毛片 | 日本三级在线视频 | 亚洲 欧美 制服 | 国产精品亚洲片在线播放 | 欧美激情一区 |