为何超时 50分 求调!!!
查看原帖
为何超时 50分 求调!!!
1659265
liuyuze0417楼主2025/7/31 11:43

因为我是一个刚学完一点算法的蒟蒻 大佬请不要用特别高级的算法 thank you!

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s3="",sss3="1";
	int n,ans=0;
	scanf("%d",&n);
	for(int i=1;i<=n;++i){
		int car=0;
		for(int j=0;j<sss3.size();++j){
			int z=(sss3[j]-'0')*2+car;
			if(z>=10) car=z/10,z%=10;
			else car=0;
			s3+=char(z+'0');
		}
		if(car!=0)s3+=char(car+'0');
		sss3=s3,s3="";
	} 
	cout<<sss3.size()<<endl; 
	sss3[0]=char(sss3[0]-1),sss3=sss3.substr(0,500);
	reverse(sss3.begin(),sss3.end());
	for(int i=1;i<=500;++i){
		if(500-i>=sss3.size()){
			if(i%50)printf("0");
			else printf("0\n");
		}
		else{
			if((ans+501-sss3.size())%50)printf("%c",sss3[ans]);
			else printf("%c\n",sss3[ans]);
			ans++;
		}
	}
	return 0;
}

必回关! thanks very much!

2025/7/31 11:43
加载中...