《测试机惊魂》

P1255 数楼梯

Minecraft_Dream @ 2022-02-16 20:57:05

这是我的代码:

#include<bits/stdc++.h>
using namespace std;
string x(string x1,string x2)
{
    string d="",k="1";
    int t,a[1000],b[1000],c[1000];
    for(int i=0;i<x1.size();i++)
    {
        a[i]=x1[x1.size()-i-1]-int('0');
    }
    for(int i=0;i<x2.size();i++)
    {
        b[i]=x2[x2.size()-i-1]-int('0');
    }
    /*for(int i=0;i<x1.size();i++)
    {
        cout<<a[i]<<" "<<i<<" ";
    }
    cout<<endl;
    for(int i=0;i<x2.size();i++)
    {
        cout<<b[i]<<" "<<i<<" ";
    }*/
    for(int i=0;i<max(x1.size(),x2.size());i++)
    {
        c[i]=(a[i]+b[i])%10+t;
        t=0;
        if((a[i]+b[i])/10!=0)
        {
            t=1;
        }
        if(c[i]==10)
        {
            c[i]=0;
            t++;
        }
    }
    for(int i=max(x1.size(),x2.size())-1,j=0;i>=0;i--,j++)
    {
        d=d+char(c[i]+int('0'));
    }
    if(t!=0)
    {
        d=k+d;
    }
    return d;
}
int n;
string x1="1",x2="2",x3;
int main()
{
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    cin>>n;
    for(int i=0;i<n-1;i++)
    {

        x3=x(x1,x2);
        x1=x2;
        x2=x3;
    }
    cout<<x1;
    return 0;
}

提交后: 下载了第二个测试点: 问一下各位大佬,有木有问题,谢啦;


by 初雪_matt @ 2022-02-16 20:58:13

@Minecraft_Dream 你到洛谷ide去测,确实RE了


by Minecraft_Dream @ 2022-02-16 20:59:16

@初雪_matt 我是说第二个点的问题


by Dementor @ 2022-02-16 20:59:18

你在洛谷在线 IDE 上编译运行一下看看有没有问题?

如果有就是什么数组越界之类的奇怪问题,自己检查就好了


by 初雪_matt @ 2022-02-16 21:00:29

@Minecraft_Dream 是第二个点,你开没开O2


by Minecraft_Dream @ 2022-02-16 21:02:00

@Dementor @初雪_matt 谢谢,数组小了,已经过了


|