poj 2506 Tiling (递推)
生活随笔
收集整理的這篇文章主要介紹了
poj 2506 Tiling (递推)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://poj.org/problem?id=2506#include<stdio.h>
#include<string.h>
int a[260],b[260];
char str[260][260];
void add()
{int i,j,k;str[0][0]='1';//不要忘了0,我就貢獻了一次wastr[0][1]='\0';str[1][0]='1';str[1][1]='\0';str[2][0]='3';str[2][1]='\0';for(i=3;i<=260;i++){memset(a,0,sizeof(a));memset(b,0,sizeof(b));int len1=strlen(str[i-2]);for(k=len1-1,j=0;k>=0;k--,j++){a[j]=str[i-2][k]-'0';}for(j=0;j<len1;j++){a[j]=a[j]*2;}for(j=0;j<len1;j++){a[j+1]+=a[j]/10;a[j]=a[j]%10;}int len2=strlen(str[i-1]);for(k=len2-1,j=0;k>=0;k--,j++){b[j]=str[i-1][k]-'0';}for(j=0;j<=260;j++){a[j]=a[j]+b[j];}for(j=0;j<=260;j++){a[j+1]+=a[j]/10;a[j]=a[j]%10;}for(j=260;j>=0;j--){if(a[j]!=0)break;}for(k=0;j>=0;j--,k++){str[i][k]='0'+a[j];}str[i][k]='\0';}
}
int main()
{int n;add();while(scanf("%d",&n)!=EOF){printf("%s\n",str[n]);}
}
轉載于:https://www.cnblogs.com/acSzz/archive/2012/02/24/2367149.html
總結
以上是生活随笔為你收集整理的poj 2506 Tiling (递推)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql server 海量数据速度提升:
- 下一篇: thrift入门(1) -- 安装配置