90分 WA#9
查看原帖
90分 WA#9
600333
2672434062xzl楼主2024/1/6 17:19
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
bool b;
void print(string s){
	cout<<s;
	if(b)s.pop_back();
	reverse(s.begin(),s.end());
	cout<<s;
}
bool check(string s){
	for(char c:s)
		if(c!='9')return 0;
	return 1;
}
signed main() {
	string s,s1,s2;
	cin>>s;
	b=s.length()&1;
	s1=s.substr(0,(s.length()+1)/2);
	s2=s.substr(s.length()/2,(s.length()+1)/2);
	reverse(s2.begin(),s2.end());
	if(s1>s2)print(s1);
	else{
		if(check(s1)){
			cout<<1;
			for(int i=1;i<s.length();++i)cout<<0;
			cout<<1;
		}
		else{
			++s1.back();
			for(int i=s1.length()-1;i>=0;--i)
				if(s1[i]>'9'){
					s1[i]-=10;
					++s1[i-1];
				}
			print(s1);
		}
	}
	return 0;
}

求助

2024/1/6 17:19
加载中...