dp[i][1]:末尾为1的个数
dp[i][2]:末尾为2的个数
则:dp[i][1]=d[i-1][1]+dp[i-1][2]=dp[i-1];dp[i][2]=dp[i-1][1]=dp[i-2][1]+dp[i-2][2]=dp[i-2];
dp[i]=d[i-1]+dp[i-2],
大数
#include<stdio.h>
#include<string.h>
int dp[210][50],len[210];
int main()
{
int i,t,n,k,j;
char s[210];
dp[1][0]=1;len[1]=1;
dp[0][0]=1;len[0]=1;
for(i=2;i<210;i++)
{
k=0;
for(j=0;j<len[i-1];j++)
{
dp[i][j]=(dp[i-1][j]+dp[i-2][j]+k)%10;
k=(dp[i-1][j]+dp[i-2][j]+k)/10;
}
whil......
阅读全文