高精度+斐波拉,感觉自己很菜

P1255 数楼梯

JMSU方嵩 @ 2019-05-30 19:56:11

#include<iostream>
#include<cstring>

using namespace std;
const int L = 5000;
struct stu{
    string a;
}s[5010];
string add(string a,  string b) {
    string ans;
    int na[L] = {0},nb[L] = {0};
    int la = a.length(), lb = b.length();
    for(int i = 0; i < la; i++)na[la - 1 - i] = a[i] - '0';
    for(int i = 0; i < lb; i++)nb[lb - 1 - i] = b[i] - '0';
    int lmax = la > lb ? la:lb;
    for(int i = 0; i<lmax; i++) {
        na[i]+=nb[i];
        na[i + 1] += na[i]/10;
        na[i]%=10;
    }
    if(na[lmax])lmax++;
    for(int i = lmax - 1; i >= 0; i--) ans+=na[i] + '0';
    return ans;
}
int main()
{   int t;
    cin >> t;
    if(t == 0){cout << 0<<endl;return 0;}
    s[1].a = '1';
    s[2].a = '2';
    for(int i = 3; i <= t; i++) {
    s[i].a = add(s[i - 1].a , s[i - 2].a);
    }
    cout << s[t].a<<endl;
    return 0;
}

by JMSU方嵩 @ 2019-05-30 19:57:20

感觉数据需要加强


by Quank123Wip @ 2019-05-30 20:01:53

为什么要用一堆标题阐明自己的观点

为什么要把AC代码发讨论区

为什么不能用粗体着重表示


by 红色OI再临 @ 2019-05-30 20:02:54

你的可以过,,


by 樱初音斗橡皮 @ 2019-05-30 20:03:54

对对对,要取膜用斐波那契循环节来做,您去A黑题吧(暴躁)


by ferrum_cccp @ 2019-05-30 20:09:18

对对对,要取膜用斐波那契循环节来做,您去A黑题吧(暴躁)


by NaCly_Fish @ 2019-05-30 20:09:45

啊?这题不是矩阵快速幂+FFT吗。。


by 超级小周 @ 2019-05-30 20:24:11

啊?说得我一脸蒙b


by Meatherm @ 2019-05-30 20:26:39

所以说呢,你要怎样啊


by _H1kar1 @ 2019-07-30 14:10:42

对对对,要取膜用斐波那契循环节来做,您去A黑题吧(暴躁)@JMSU方嵩


by 【2603223090】 @ 2019-08-20 18:11:51

打破红名阵型(手动滑稽)


|