40分求助
查看原帖
40分求助
906225
Science_Technologygy楼主2023/11/25 22:16
#include<bits/stdc++.h>
#define int long long
using namespace std;
bool check(string s){
	if(s.size()%2==0)return false;
	for(int i=0;i<s.size()/2-1;i++)
		if(s[i]!=s[s.size()-i-1])return false;
	return true;
}
string js(string s){
	bool ok=false;
	for(int i=s.size()/2-1;i>=0;i--){
		if(!ok){
			if(s[i]<s[s.size()-i-1]){
				s[i]=(char)(int)s[i]+1;
				s[s.size()-i-1]=s[i];
				ok=true;
			}
			else if(s[i]>s[s.size()-i-1])s[s.size()-i-1]=s[i],ok=true;
			else{
				if(s[i]!='9'){
					s[i]=(char)(s[i]+1);
					s[s.size()-i-1]=s[i];
					ok=true;
				}
				else{
					s[i]='0';
					s[s.size()-i-1]='0';
				}
			}
		}
		else{
			if(s[i]<s[s.size()-i-1])s[s.size()-i-1]=s[i];
			else if(s[i]>s[s.size()-i-1])s[s.size()-1-i]=s[i];
		}
	}
	if(s[0]!='0')return s;
	else{
		s='1'+s;
		s=s+'1';
		return s;
	}
}
string s;
signed main(){
	cin>>s;
	if(!check(s))cout<<js(s);
	else{
		s[s.size()/2]=char(s[s.size()/2]+1);
		cout<<s;
	}
    return 0;
}
2023/11/25 22:16
加载中...