//poj 2193 //sep9 #include <iostream> using namespace std; typedef __int64 INT; INT dp[16][2048]; int n,m; int main() { int cases,t=0; scanf("%d",&cases); while(cases--){ scanf("%d%d",&n,&m); memset(dp,0,sizeof(dp)); for(int i=1;i<=m;++i) dp[1][i]=1; for(int i=1;i<n;++i) for(int j=1;j<=m;++j) for(int k=2*j;k<=m;++k) dp[i+1][k]+=dp[i][j]; INT ans=0; for(int i=1;i<=m;++i) ans+=dp[n][i]; printf("Case %d: n = %d, m = %d, # lists = %I64d\n",++t,n,m,ans); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
poj 2193 Lenny's Lucky Lotto Lists 简单dp
原文地址:http://blog.csdn.net/sepnine/article/details/46734667