5 条题解

  • 0
    @ 2025-12-3 16:33:27

    直接暴力枚举解决也可

    #include<iostream>
    #include<string>
    #include<cstring>
    #define N 1200
    using namespace std;
    bool slove(const char s[]){
    char rs[N]; //构造相反字符串
    int n = strlen(s); // 求出字符串长度
    for(int i=n-1;i>=0;i--){
    rs[i]=s[n-i-1];
    }
    rs[n]='\0';
    if(strcmp(s,rs) == 0)
    return true;
    else
    return false;
    }
    int main(){
    string str;
    getline(cin,str);
    for(int i=2;i<=str.size();i++){ //字符串长度
    for(int j=0;j<=str.size()-i;j++){//从第几个开始截取
    //从第j开始截取,截取i个
    string ss = str.substr(j,i);
    if(slove(ss.c_str())){
    cout<<ss<<endl;
    }
    }
    }
    

    }

    
    

    信息

    ID
    52
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    1390
    已通过
    201
    上传者