求助

B4039 [GESP202409 三级] 回文拼接

yise @ 2024-12-19 19:15:46

为什么会RE

#include<bits/stdc++.h>
using namespace std;

int t;
string s;
bool C(string m){
    string c=m;
    reverse(m.begin(),m.end());
    return c==m;
}

int main(){
    cin>>t;
    while(t--){
        cin>>s;
        int f=0;
        for(int i=2;i<s.size()-2&&!f;i++){
            string ss=s.substr(0,i),sss=s.substr(i,s.size()-i);
            if(C(ss)&&C(sss)){
                cout<<"Yes"<<'\n';
                f=1;
            }
        }
        if(!f) cout<<"No"<<'\n';
    }
    return 0;
}

by yise @ 2024-12-19 19:20:29

改了还错了

#include<bits/stdc++.h>
using namespace std;

int t;
string s;
bool C(string m){
    string c=m;
    reverse(m.begin(),m.end());
    return c==m;
}

int main(){
    cin>>t;
    while(t--){
        cin>>s;
        int f=0;
        for(int i=2;i<s.size()-2&&!f;i++){
            string ss=s.substr(0,i),sss=s.substr(i,s.size()-i);
            if(C(ss)&&C(sss)){
                cout<<"Yes"<<'\n';
                f=1;
            }
        }
        if(!f) cout<<"No"<<'\n';
    }
    return 0;
}

by yise @ 2024-12-19 19:22:38

9月考级写对了,现在却不会


by yise @ 2024-12-19 19:32:14

为什么这样过了?

#include<bits/stdc++.h>
using namespace std;

int t;
string s;
bool C(string m){
    string c=m;
    reverse(m.begin(),m.end());
    return c==m;
}

int main(){
    cin>>t;
    while(t--){
        cin>>s;
        int f=0;
        for(int i=2;i+1<s.size()&&!f;i++){
            string ss=s.substr(0,i),sss=s.substr(i,s.size()-i);
            if(C(ss)&&C(sss)){
                cout<<"Yes"<<'\n';
                f=1;
            }
        }
        if(!f) cout<<"No"<<'\n';
    }
    return 0;
}

|