40分,6WA求助
查看原帖
40分,6WA求助
566035
NERDS楼主2022/7/24 10:50
#include<bits/stdc++.h>
using namespace std;
int a[201][888888],c[888888],d[2];
int len[201];
void add(int a[],int b[],int c[],int lena,int lenb,int &len){
	len=max(lena,lenb)+1;
	for(int i=1;i<=len;i++){
		c[i]+=b[i]+a[i];
		if(c[i]>=10){
			c[i]-=10;
			c[i+1]++;
		}
	}
	if(c[len]==0)len--;
}
void print(int num[],int len){
	if(len==0){
		cout<<0<<endl;
		return ;
	}
	for(int i=len;i>=1;i--)printf("%d",num[i]);
	return ;
}
int main(){
	int n,lenc;
	cin>>n;
	d[1]=2;
	for(int i=1;i<=n;i++){
		memset(c,0,sizeof(c));
		lenc=0;
		add(a[i-1],a[i-1],c,len[i-1],len[i-1],lenc);
		add(c,d,a[i],lenc,1,len[i]);
	}
	print(a[n],len[n]);
	return 0;
} 
2022/7/24 10:50
加载中...