为什么c++是对的,洛谷过不了呀!大佬求解!!!!!!

P1307 [NOIP2011 普及组] 数字反转

yzb121007 @ 2023-12-13 19:37:14

为什么c++是对的,洛谷过不了呀!大佬求解!!!!!!


by yzb121007 @ 2023-12-13 19:38:10

求求了


by SpecialEggs @ 2023-12-13 19:41:03

你的代码在哪


by chenyyegg @ 2023-12-13 19:42:16

@yzb121007 给代码会有人解答 不知道代码大佬(当然不是我)也啥都干不了


by code953 @ 2023-12-13 19:46:27

@yzb121007 你只判断了三位数的情况,但是N最大为10位,不错才怪


by Sci_8633 @ 2023-12-30 20:28:15

@yzb121007 ”巧夫(妇)难为无米之炊“,你的代码呢?


by Sci_8633 @ 2023-12-30 20:29:55

@yzb121007

#include<bits/stdc++.h>
using namespace std;
string n;
bool flag;
int main(){
    cin>>n;
    int len=n.size();
    for(int i=0;i<len;++i){
        if(n[i]=='0')
            flag=1;
        if(flag==1)
            printf("%c",'0');
            break;
    }
    if(n[0]!='-'){
        reverse(n.begin(),n.end());
        int i=0;
        while(n[i]=='0'){
            i++;
        }
        n.erase(0,i);
        cout<<n;
    }
    else{
        n.erase(0,1);
        len--;
        reverse(n.begin(),n.end());
        cout<<'-';
        int i=0;
        while(n[i]=='0'){
            i++;
        }
        n.erase(0,i);
        cout<<n;
    }
    return 0;
}

送你一招:直接用reverse函数翻转字符串,再修改一下细节就好了。 AC代码送给你(借给你)用用。


by yzb121007 @ 2024-01-06 18:17:21

@Sci_8633 谢谢


|