大佬们帮看一眼,这题错在哪里
  • 板块P2437 蜜蜂路线
  • 楼主M213
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/3/17 22:01
  • 上次更新2023/10/28 06:21:25
查看原帖
大佬们帮看一眼,这题错在哪里
556815
M213楼主2022/3/17 22:01
#include <iostream>
#include <string>
#define maxn 10000000
using namespace std;
int a[maxn],b[maxn],c[maxn],len;
string A="1",B="1",C;
int n,m;
void f(){
    if(n-m+1==1||n-m+1==2){
        cout<<"1";
    }else{
        for(int x=1;x<=n-m+1;x++){
            len = max(A.length(),B.length());
            for(int i=0,j=1;i<=A.length()-1;i++,j++)a[j]=A[i]-'0';
            for(int i=0,j=1;i<=B.length()-1;i++,j++)b[j]=B[i]-'0';
            for(int i=1;i<=len;i++){c[i]+=a[i]+b[i];c[i+1]=c[i]/10;c[i]=c[i]%10;}
            if(c[len+1])len++;
            for(int i=1;i<=len;i++){
                C+=char(c[i]);
            }
            A=B;
            B=C;
        }
        for(int i=len;i>=1;i--)cout << c[i];
    }
}
int main(){
    cin>>m>>n;
    f();
    return 0;
}

输出的全是负数。

2022/3/17 22:01
加载中...