Tiling ,Tri Tiling(递推)

来源:互联网 发布:淘宝店铺图标设计 编辑:程序博客网 时间:2024/05/02 04:17

Tiling

https://vjudge.net/problem/FZU-1147


经过自己手推可以的出来f[i]=f[i-1]+2*f[i-2];而且是大数,开两个数组控制格式

#include<stdio.h>#include<string.h>const int maxn=300;int a[maxn],b[maxn],c[maxn];int main(){    int n,k;    while(~scanf("%d",&n))    {        memset(a,0,sizeof(a));        memset(b,0,sizeof(b));        memset(c,0,sizeof(c));        if(n==0||n==1)            printf("1");        else if(n==2)            printf("3");        a[1]=1;        b[1]=3;        for(int i=1; i<=n-2; i++)        {            int d=0;            for(int j=1; j<maxn; j++)            {                int s=a[j]*2+b[j]+d;                c[j]=s%10;                d=s/10;            }            for(int j=1; j<maxn; j++)            {                a[j]=b[j];                b[j]=c[j];            }        }        for(k=maxn-1; k>=1; k--)        {            if(c[k])                break;        }        for(int i=k; i>=1; i--)        {            printf("%d",c[i]);        }        printf("\n");    }    return 0;}
Tri Tiling

https://vjudge.net/problem/HDU-2501

这道题遇上道题相似却麻烦了很多,我看了大牛的博客,感觉人家已经推的很好了,直接上博客

http://www.cnblogs.com/yuyixingkong/archive/2015/07/15/4648163.html

两道题相似却大有不同,第二道题我也是懵懂,感觉自己推不出来



0 0
原创粉丝点击