1192:放苹果

传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1192
#include<iostream>
using namespace std;
#define N 100+10
int m,n,t;
int f[N][N];//f[i][j]=i i个苹果放j个盘子的方案数
int main()
{
        for(int i=1;i<N;i++)f[i][1]=1;//不管怎么放苹果,I个苹果放一个盘子都是0
        for(int i=1;i<N;i++)f[1][i]=f[0][i]=1;
        for(int i=2;i<N;i++)
            for(int j=2;j<N;j++)
            {
                if(i-j>=0)f[i][j]+=f[i-j][j];
                if(j>1)f[i][j]+=f[i][j-1];
            }
    cin>>t;
    while(t--)
    {
        cin>>m>>n;
        // if(n>m)n=m;
        cout<<f[m][n]<<endl;
    }
}

 

posted @ 2019-06-29 20:56  shake_jake  阅读(449)  评论(0编辑  收藏  举报