70pts & WA on #5#9#10#12#15#20
对0进行特判,如果待翻转的数为0,则直接输出0,不要像其他数一样去除首尾多余0
75pts & RE on #1#2#3#4#19
由于输入长度超过long long 范围,所以不要通过转成数字来去掉多余0
如以下代码:
#include<bits/stdc++.h>
using namespace std;
string rev(string s){
if(s=="0")return "0";
reverse(s.begin(),s.end());
while(s[0]=='0')s=s.substr(1);
while(s.back()=='0')s=s.substr(0,s.size()-1);
return s;
}int main(){
string n;cin>>n;
if(n.find(".")!=-1)cout<<rev(n.substr(0,n.find(".")))<<"."<<rev(n.substr(n.find(".")+1));
else if(n.find("/")!=-1)cout<<rev(n.substr(0,n.find("/")))<<"/"<<rev(n.substr(n.find("/")+1));
else if(n.back()=='%')cout<<rev(n.substr(0,n.size()-1))<<'%';
else cout<<rev(n);
}