C++遞迴演算法之鳴人的影分身
鳴人的影分身
Description
在火影忍者的世界裡,令敵人捉摸不透是非常關鍵的。我們的主角漩渦鳴人所擁有的一個招數——多重影分身之術——就是一個很好的例子。
影分身是由鳴人身體的查克拉能量製造的,使用的查克拉越多,製造出的影分身越強。
針對不同的作戰情況,鳴人可以選擇製造出各種強度的影分身,有的用來佯攻,有的用來發起致命一擊。
那麼問題來了,假設鳴人的查克拉能量為M,他影分身的個數為N,那麼製造影分身時有多少種(用K表示)不同的分配方法?(影分身可以被分配到0點查克拉能量)
Input
第一行是測試資料的數目t(0 <= t <= 20)。以下每行均包含二個整數M和N,以空格分開。1<=M,N<=10。Output
對輸入的每組資料M和N,用一行輸出相應的K。 Sample Input
1
7 3
8
程式碼
#include<cstdio>
int main()
{
int i,j,k,n,m;
int t;
scanf("%d",&t);
for(int o=1;o<=t;o++)
{
int f[101][101];
scanf("%d%d",&m,&n);
for(i=0;i<=m;i++)
for(j=0;j<=n;j++)
{
if(i==0||j==1) f[i][j]=1;
else
{
if(j>i) f[i][j]=f[i][i];
else f[i][j]=f[i][j-1]+f[i-j][j];
}
}
printf("%d\n",f[m][n]);
}
return 0;
}
相關文章
- JavaScript演算法之遞迴JavaScript演算法遞迴
- Shader:最佳化破解變體的 “影分身” 之術
- iOS 演算法之排序、查詢、遞迴iOS演算法排序遞迴
- c++迷宮問題回溯法遞迴演算法C++遞迴演算法
- 遞迴演算法遞迴演算法
- 揹包問題的遞迴與非遞迴演算法遞迴演算法
- 【C++】翻轉二叉樹(遞迴、非遞迴)C++二叉樹遞迴
- 演算法小專欄:遞迴與尾遞迴演算法遞迴
- 【演算法】遞迴演算法演算法遞迴
- Java遞迴演算法的使用Java遞迴演算法
- Java遞迴演算法Java遞迴演算法
- 遞迴演算法要素遞迴演算法
- 快速排序(遞迴及非遞迴演算法原始碼)排序遞迴演算法原始碼
- 「演算法之美系列」遞迴與回溯(JS版)演算法遞迴JS
- 演算法初探--遞迴演算法演算法遞迴
- 函式之遞迴函式遞迴
- 淺談遞迴演算法遞迴演算法
- 每日一演算法:遞迴演算法遞迴
- c++ 遞推演算法C++演算法
- 二叉樹——後序遍歷的遞迴與非遞迴演算法二叉樹遞迴演算法
- JavaScript之遞迴的簡單使用JavaScript遞迴
- 【大爽python演算法】遞迴演算法進化之回溯演算法(backtracking)Python演算法遞迴
- 資料結構與演算法讀書筆記 - 004 -C++遞迴資料結構演算法筆記C++遞迴
- Python進階-演算法-遞迴Python演算法遞迴
- 遞迴 & 分治演算法深度理解遞迴演算法
- 演算法分析__遞迴跟蹤演算法遞迴
- Python遞迴演算法詳解Python遞迴演算法
- 漢諾塔的圖解遞迴演算法圖解遞迴演算法
- 遞迴演算法的時間複雜度遞迴演算法時間複雜度
- 幾種常見的JS遞迴演算法JS遞迴演算法
- 遞迴和尾遞迴遞迴
- 【電腦科學】演算法——遞迴演算法遞迴
- 遞迴與分治演算法練習遞迴演算法
- 二十一、氣泡排序演算法——JAVA實現(遞迴與非遞迴)排序演算法Java遞迴
- 什麼是遞迴?遞迴和迴圈的異同遞迴
- C++單連結串列遞迴遍歷操作C++遞迴
- C++ 學習筆記(2):String、遞迴、排序C++筆記遞迴排序
- C++ 可變引數模板遞迴展開C++遞迴
- 解讀:什麼是Java的遞迴演算法?Java遞迴演算法