社区讨论
90分 WA#9
P1609最小回文数参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lr1uvdl0
- 此快照首次捕获于
- 2024/01/06 17:21 2 年前
- 此快照最后确认于
- 2024/01/06 20:34 2 年前
CPP
#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;
}
求助
回复
共 0 条回复,欢迎继续交流。
正在加载回复...