30分,从15开始出问题
  • 板块P1255 数楼梯
  • 楼主LucAlva
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/21 17:13
  • 上次更新2023/12/21 20:24:41
查看原帖
30分,从15开始出问题
1044970
LucAlva楼主2023/12/21 17:13
#include <bits/stdc++.h>
using namespace std;
char b1[1000010]{1},c1[1000010]{2};
int b[1000010],c[1000010],d[1000010];
void hhh(int r){
	int len;
    while(r--){
		len=max(strlen(b1),strlen(c1));
		int x=0;
		for(int i=0;i<strlen(b1);i++){
		    b[i]=b1[strlen(b1)-1-i];
		}
		for(int i=0;i<strlen(c1);i++){
		    c[i]=c1[strlen(c1)-1-i];
		}
		for(int i=0;i<len;i++){
		    d[i]=b[i]+c[i]+x;
		    x=d[i]/10;
		    d[i]%=10;
		}
		if(x) d[len++]=x;
		for(int i=0;i<strlen(c1);i++){
		    b1[i]=c[strlen(c1)-1-i];
		}
		for(int i=0;i<len;i++){
		    c1[i]=d[len-1-i];
		}
	}
    for(int i=len-1;i>=0;i--){
        cout<<d[i];
    }
    return;
}
void a(long long n){
	if(n==1||n==2){
		cout<<n;
	}
	else{
	    hhh(n-2);
	}
}
int main(){
	long long n;
	cin>>n;
	a(n);
	return 0;
}
2023/12/21 17:13
加载中...