hdu-1250

来源:互联网 发布:网络连不上说是防火墙 编辑:程序博客网 时间:2024/06/14 23:41
#include<stdio.h>#define N 8000#define M 510int a[N][M];int main(){int i,j,n;a[1][1]=1;a[2][1]=1;a[3][1]=1;a[4][1]=1;for(i=5;i<N;++i)for(j=1;j+1<M;++j) //j+1<M 主要是a[i][j+1]这里不能越界,也可以写j<M,没太大影响{a[i][j]+=a[i-1][j]+a[i-2][j]+a[i-3][j]+a[i-4][j]; if(a[i][j]>=10000){a[i][j+1]+=a[i][j]/10000;a[i][j]%=10000;}}while(scanf("%d",&n)!=EOF){for(i=M-1;i>=1;--i)if(a[n][i]!=0){printf("%d",a[n][i]);i--;break;}while(i>=1){printf("%04d",a[n][i]);i--;}printf("\n");}return 0;}