Computer Transformation(规律,大数打表)
2015-11-15 16:44
225 查看
Computer Transformation
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6946 Accepted Submission(s): 2515
[align=left]Problem Description[/align]
A
sequence consisting of one digit, the number 1 is initially written
into a computer. At each successive time step, the computer
simultaneously tranforms each digit 0 into the sequence 1 0 and each
digit 1 into the sequence 0 1. So, after the first time step, the
sequence 0 1 is obtained; after the second, the sequence 1 0 0 1, after
the third, the sequence 0 1 1 0 1 0 0 1 and so on.
How many pairs of consequitive zeroes will appear in the sequence after n steps?
[align=left]Input[/align]
Every input line contains one natural number n (0 < n ≤1000).
[align=left]Output[/align]
For each input n print the number of consecutive zeroes pairs that will appear in the sequence after n steps.
[align=left]Sample Input[/align]
2
3
[align=left]Sample Output[/align]
1
1
题解:f(n)=2*f(n-2)+f(n-1)由于每个n-2的00生成两个01,在n的地方就会生成两个00;n-1的00在n生成一个00;由此可以找出规律;
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; #define mem(x,y) memset(x,y,sizeof(x)) typedef long long LL; const int MAXN=1010; char dp[MAXN][MAXN]; char c[MAXN]; int x[MAXN],y[MAXN],z[MAXN]; void bigsum(char *a,char *b){ int len1,len2; mem(x,0);mem(y,0);mem(z,0); len1=strlen(a);len2=strlen(b); int len=max(len1,len2); for(int i=len1-1,j=0;i>=0;i--,j++)x[j]=a[i]-'0'; for(int i=len2-1,j=0;i>=0;i--,j++)y[j]=b[i]-'0'; for(int i=0;i<len;i++){ z[i]=x[i]+y[i]+z[i]; z[i+1]+=z[i]/10; z[i]%=10; if(z[len])len++; } for(int i=len-1,j=0;i>=0;i--,j++)c[j]=z[i]+'0'; c[len]='\0'; } int main(){ int n; dp[1][0]='0';dp[1][1]='\0'; dp[2][0]='1';dp[2][1]='\0'; for(int i=3;i<=1000;i++){ bigsum(dp[i-1],dp[i-2]); bigsum(c,dp[i-2]); memcpy(dp[i],c,sizeof(c)); } while(~scanf("%d",&n)){ printf("%s\n",dp ); } return 0; }
相关文章推荐
- 《C和指针》章节后编程练习解答参考——6.1
- Amoeba -阿里的开源项目
- hdoj Tempter of the Bone 1010 (DFS+奇偶剪枝) 好题
- Texstudio学习笔记----英文全部划红线报错
- MVC校验
- 由于Redis漏洞导致服务器被黑
- 使用phpdocumentor2生成项目文档
- Sass 基本特性-基础 笔记
- Core Data系列五——数据迁移方案
- 指针加一
- iOS 新浪微博-5.3 首页微博列表_集成图片浏览器
- 回溯算法
- UNDO表空间100%诊断
- 老男孩mysql学习笔记<1>
- HDOJ 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 【多重背包】
- 多CPU支持下的 percpu 变量分析
- 【USACO 5.1.1】Fencing the Cows
- 杭电ACM2191(多重背包)
- spring源码目录模块的作用
- [C#基础]网络编程(二):TcpListener & TcpClient