标签:
NOI
总时间限制:
1 7 3
8
用数组a[i][j]来存放一个值,表示i个苹果放入J个盘子的方法
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,a[201][201];
void dp(){
for(int i=1;i<=11;i++) a[0][i]=1,a[i][1]=1;//表示0个苹果放入i个盘子的方法为1,表示i个苹果放入1个盘子的方法也为1
for(int i=1;i<=11;i++)
for(int j=1;j<=11;j++)
if(i>=j) a[i][j]=a[i-j][j]+a[i][j-1];//a[i-j][j]每个盘子拿掉一个苹果,a[i][j-1]拿掉一个盘子
else a[i][j]=a[i][j-1];
}
int main()
{
int T;
scanf("%d",&T);
while(T--){
dp();
scanf("%d%d",&n,&m);
printf("%d\n",a[n][m]);
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/zhishenduchuang/p/5762452.html