PKU POJ 1671 Rhyme Schemes DP
基础DP,从长度为i-1的方案数得到长度为i的方案数,dp[i][j]长度为i有j种字母组成的方案数。
#include <iostream> using namespace std; double dp[1000][1000]; void init() { int i,j; dp[1][1]=1; for (i=2;i<1000;++i) { dp[i][i]=dp[i][1]=1; for (j=2;j<i;++j) dp[i][j]=dp[i-1][j-1]+dp[i-1][j]*j; } } int main() { int n,i; double res; init(); while (scanf("%d",&n)!=EOF&&n) { for (i=1,res=0;i<=n;++i) res+=dp[n][i]; printf("%d %.0lf\n",n,res); } return 0; }
浙公网安备 33010602011771号