鳴人的影分身(動規)

2022-02-13 14:48:41 字數 1282 閱讀 8436

總時間限制:1000ms

記憶體限制:65536kb

描述在火影忍者的世界裡,令敵人捉摸不透是非常關鍵的。我們的主角漩渦鳴人所擁有的乙個招數——多重影分身之術——就是乙個很好的例子。

影分身是由鳴人身體的查克拉能量製造的,使用的查克拉越多,製造出的影分身越強。

針對不同的作戰情況,鳴人可以選擇製造出各種強度的影分身,有的用來佯攻,有的用來發起致命一擊。

那麼問題來了,假設鳴人的查克拉能量為m,他影分身的個數為n,那麼製造影分身時有多少種(用k表示)不同的分配方法?(影分身可以被分配到0點查克拉能量)

輸入第一行是測試資料的數目t(0 <= t <= 20)。以下每行均包含二個整數m和n,以空格分開。1<=m,n<=10。

輸出對輸入的每組資料m和n,用一行輸出相應的k。

樣例輸入

1

7 3

樣例輸出
8

【思路】相當於把m個相同的蘋果放入n個盤子中的方法的個數

就將就著這個問題寫思路吧 m個克拉能量相當於m個蘋果,n個分身相當於n個盤子;

對放入的情況進行討論

(1)當n>m(即當盤子個數大於蘋果個數時)

一定有m-n個盤子空著 那麼這種情況和把m個蘋果放入m個盤子效果是一樣的;

(2)當n<=m時(即當盤子個數小於蘋果數)

分類討論:

1、至少有乙個盤子是空的的時候 就相當於把m個蘋果放入n-1盤子中

2、當每個盤子都有的時候(每個盤子都有蘋果了那麼至少是乙個吧)

效果就是 f(m-n,n),把每個盤子的蘋果都拿出乙個;、

因為遞迴(1)是盤子數不斷減少,所以當n==1時,return 1(只有乙個盤子那就只有一種方法)

(2)是蘋果數不斷減少,所以我們定義m==0時 return 1(有一種方法);

【**】

#include#include

#include

#include

using

namespace

std;

int dp(int m,int

n)int

main()

return0;

}

鳴人的影分身

描述在火影忍者的世界裡,令敵人捉摸不透是非常關鍵的。我們的主角漩渦鳴人所擁有的乙個招數 多重影分身之術 就是乙個很好的例子。影分身是由鳴人身體的查克拉能量製造的,使用的查克拉越多,製造出的影分身越強。針對不同的作戰情況,鳴人可以選擇製造出各種強度的影分身,有的用來佯攻,有的用來發起致命一擊。那麼問題...

鳴人的影分身

題目鏈結 題目描述 在火影忍者的世界裡,令敵人捉摸不透是非常關鍵的。我們的主角漩渦鳴人所擁有的乙個招數 多重影分身之術 就是乙個很好的例子。影分身是由鳴人身體的查克拉能量製造的,使用的查克拉越多,製造出的影分身越強。針對不同的作戰情況,鳴人可以選擇製造出各種強度的影分身,有的用來佯攻,有的用來發起致...

24 鳴人的影分身

描述 在火影忍者的世界裡,令敵人捉摸不透是非常關鍵的。我們的主角漩渦鳴人所擁有的乙個招數 多重影分身之術 就是乙個很好的例子。影分身是由鳴人身體的查克拉能量製造的,使用的查克拉越多,製造出的影分身越強。針對不同的作戰情況,鳴人可以選擇製造出各種強度的影分身,有的用來佯攻,有的用來發起致命一擊。那麼問...