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) 编辑 收藏 举报