鸣人的影分身(信息学奥赛一本通-T1303)
生活随笔
收集整理的這篇文章主要介紹了
鸣人的影分身(信息学奥赛一本通-T1303)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目描述】
在火影忍者的世界里,令敵人捉摸不透是非常關(guān)鍵的。我們的主角漩渦鳴人所擁有的一個招數(shù)——多重影分身之術(shù)——就是一個很好的例子。
影分身是由鳴人身體的查克拉能量制造的,使用的查克拉越多,制造出的影分身越強。
針對不同的作戰(zhàn)情況,鳴人可以選擇制造出各種強度的影分身,有的用來佯攻,有的用來發(fā)起致命一擊。
那么問題來了,假設(shè)鳴人的查克拉能量為M,他影分身的個數(shù)最多為N,那么制造影分身時有多少種(用K表示)不同的分配方法?(影分身可以被分配到0點查克拉能量)
【輸入】
第一行是測試數(shù)據(jù)的數(shù)目t(0≤t≤20)。以下每行均包含二個整數(shù)M和N(1≤M,N≤10),以空格分開。
【輸出】
對輸入的每組數(shù)據(jù)M和N,用一行輸出相應(yīng)的K。
【輸入樣例】
1
7 3
【輸出樣例】
8
【源程序】
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> #include<cstdlib> #include<queue> #include<vector> #define INF 0x3f3f3f3f #define PI acos(-1.0) #define N 201 #define MOD 100001 #define E 1e-12 using namespace std; int f(int m,int n) {if(m==0||n==1)return 1;if(m<n)return f(m,m);return f(m,n-1)+f(m-n,n); } int main() {int t;cin>>t;while(t--){int m,n;cin>>m>>n;cout<<f(m,n)<<endl;}return 0; }總結(jié)
以上是生活随笔為你收集整理的鸣人的影分身(信息学奥赛一本通-T1303)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用技巧 —— 位运算 —— 异或运算实
- 下一篇: 最短路(信息学奥赛一本通-T1382)