poj 1664 放苹果

每次放考虑有空盘的情况和没空盘的情况,由于较小的m、n已经打好表,所以可直接调用。自底向上dp。

#include <iostream>

using namespace std;

 

long a[20][20];

 

int main()

{

         long t,n,m,i,j;

         for(i=0;i<=10;i++)

         {a[0][i]=1; a[i][0]=0;}

         for(i=1;i<=10;i++)

         {

                   for(j=1;j<=10;j++)

                   {

                            if(i<j) a[i][j]=a[i][i];

                            else a[i][j]=a[i-j][j]+a[i][j-1];

                   }

         }

         cin>>t;

         while(t--)

         {

                   cin>>n>>m;

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

         }

}

posted on 2010-03-05 10:20  liugoodness  阅读(233)  评论(0编辑  收藏  举报

导航