2 条题解

  • 0
    @ 2025-9-19 15:06:58
    #include<bits/stdc++.h>
    #define For(i,a,n) for(int i=a;i<=n;i++)
    using namespace std;
    int len;
    string change(string s){
        string ans="";
        int n=s.size();
        for(int i=n-1;i>=0;i--)ans+=s[i];
        return ans;
    }
    string solve0(string s){
        string ans="";
        int n=s.size();
        bool f=0;
        For(i,0,n-1){
            if(!f&&s[i]!='0') f=1;
            if(f) ans+=s[i];
        }
        if(n!=0 && ans.size()==0){
            ans+="0";
        }//考虑0.0
        return ans;
    }
    int main(){
        string s;
        cin>>s;
        string s1="",s2="";
        len=s.size();
        char ch=' ';
        bool f=0;
        For(i,0,len-1){
            if(!(s[i]>='0' && s[i]<='9')){
                f=1;
                ch=s[i];
                continue;
            }
            if(!f) s1+=s[i];
            else s2+=s[i];
        }
        if(ch=='.'){
            s2=solve0(s2);
        }//考虑样例“600.048”
        cout<<solve0(change(s1))<<ch<<solve0(change(s2));
        return 0;
    }
    

    题目很水,小坑很多

    • 0
      @ 2025-4-4 13:10:51
      def rev_int(s):
          rev_str = s[::-1].lstrip('0')
          return rev_str if rev_str else '0'
      
      def rev_dec(s):
          rev_str = s[::-1].rstrip('0')
          return rev_str if rev_str else '0'
      
      s = input().strip()
      if s.endswith('%'):
          num = s[:-1]
          print(rev_int(num) + '%')
      elif '/' in s:
          a, b = s.split('/')
          print(f"{rev_int(a)}/{rev_int(b)}")
      elif '.' in s:
          x, y = s.split('.')
          print(f"{rev_int(x)}.{rev_dec(y)}")
      else:
          print(rev_int(s))
      
      • 1

      信息

      ID
      705
      时间
      1000ms
      内存
      256MiB
      难度
      9
      标签
      递交数
      11
      已通过
      5
      上传者