鳴人的影分身

2021-10-03 07:29:30 字數 1510 閱讀 1401

題目鏈結

題目描述

在火影忍者的世界裡,令敵人捉摸不透是非常關鍵的。

我們的主角漩渦鳴人所擁有的乙個招數——多重影分身之術——就是乙個很好的例子。

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

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

那麼問題來了,假設鳴人的查克拉能量為m

mm,他影分身的個數最多為n

nn,那麼製造影分身時有多少種不同的分配方法?

注意:影分身可以分配0點能量。

分配方案不考慮順序,例如m

mm=7,n

nn=3,那麼 (2,2,3) 和 (2,3,2) 被視為同一種方案。

輸入格式

第一行是測試資料的數目ttt。

以下每行均包含二個整數m

mm和n

nn,以空格分開。

輸出格式

對輸入的每組資料m

mm和n

nn,用一行輸出分配的方法數。

資料範圍

0 ≤t

≤200\le t\le 20

0≤t≤20,1≤

m,n≤

101\le m, n\le 10

1≤m,n≤

10輸入樣例:

1

7 3

輸出樣例:

1.dfs

2.dp狀態計算中很奇怪的分法。

dfs

#include #include #include #include using namespace std;

typedef long long ll;

const int n = 15;

int f[n];

int n, m;

ll ans;

// u代表dfs到了哪一位,s代表已經用了多少查克拉,st就是start的縮寫代表著從多少開始,因為本題總不考慮順序,所以我們自己規定乙個不減小的順序

void dfs(int u, int s, int st)

for (int i = st; i <= n; i++)

}int main()

return 0;

}

dp
#include #include #include #include using namespace std;

const int n = 15;

int m, n;

int f[n][n];

int main()

cout << f[m][n] << endl;

memset(f, 0, sizeof(f));

}return 0;

}

鳴人的影分身

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

24 鳴人的影分身

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

24 鳴人的影分身

總時間限制 1000ms 記憶體限制 65536kb 描述 在火影忍者的世界裡,令敵人捉摸不透是非常關鍵的。我們的主角漩渦鳴人所擁有的乙個招數 多重影分身之術 就是乙個很好的例子。影分身是由鳴人身體的查克拉能量製造的,使用的查克拉越多,製造出的影分身越強。針對不同的作戰情況,鳴人可以選擇製造出各種強...