您的位置:首页 > 其它

poj 2506 Tiling(大数+递推)

2016-07-27 10:17 330 查看
递推公式 s[i] = s[i-2]*2 + s[i-1]

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cmath>

using namespace std;

int s[255][100];
void fun()
{
s[0][0] = 1;//一定要加上,否则wa
s[1][0] = 1;
s[2][0] = 3;
int temp = 0, i, j;
for(i = 3;i <= 250;i++){
for(j = 0;j < 100;j++){
temp += (s[i-2][j])*2 + s[i-1][j];
s[i][j] = temp%10;
temp /=10;
}
}
}
int main()
{
fun();
int n;
int i;
while(cin >> n){
for(i = 99;i >= 0;i--){
if(s
[i] != 0)
break;
}
for(;i>=0;i--){
cout << s
[i];
}
cout << endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: