社区讨论

全WA求助

B4039[GESP202409 三级] 回文拼接参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhjry5nu
此快照首次捕获于
2025/11/04 07:31
4 个月前
此快照最后确认于
2025/11/04 07:31
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s;
int n;
bool huiwen(string str){
    string t = {};
    for(int i = str.size() - 1; i >= 0; i --){
        t += str[i];
    }
    if(t == str) return true;
    else return false;
}
signed main(){
    cin >> n;
    for(int i = 1; i <= n; i ++){
        cin >> s;
        bool ba = false;
        for(int j = 0; j + 2 < s.size(); j ++){
            string a = s.substr(0, j);
            string b = s.substr(j);
            if(huiwen(a) == true && huiwen(b) == true){
                cout << "Yes\n";
                ba = true;
                break;
            }
        }
        if(ba == false) cout << "No\n";
    }
    
    return 0;
}

B4039 [GESP202409 三级] 回文拼接

题目描述

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,aabaa\texttt{aabaa}ccddcc\texttt{ccddcc} 都是回文串,但 abcd\texttt{abcd} 不是。
小杨有 nn 个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为 22 的回文串前后拼接而成。

输入格式

第一行包含一个正整数 nn,代表字符串数量。
接下来 nn 行,每行一个仅包含小写字母的字符串。

输出格式

对于每个字符串输出一行,如果该字符串由两个长度至少为 22 的回文串前后拼接而成则输出 Yes,否则输出 No。

输入输出样例 #1

输入 #1

CPP
4
abcd
aabbb
aaac
abcdd

输出 #1

CPP
No
Yes
No
No

说明/提示

样例 1 解释

对于第 1,3,41,3,4 个字符串,都不是由两个长度至少为 22 的回文串前后拼接而成。 第 22 个字符串由回文串 aa\texttt{aa}bbb\texttt{bbb} 前后拼接而成,并且两个回文串长度都至少为 22

数据规模与约定

对全部的测试数据,保证 1n101 \leq n \leq 10,且每个字符串的长度均不超过 100100

回复

1 条回复,欢迎继续交流。

正在加载回复...