1 条题解

  • 0
    @ 2025-5-13 14:41:55

    让我们看看s的第一个和最后一个字符。注意,如果s[1]=s[n](其中n=字符串s的长度),则 A(s)始终等于B(s)。

    例如,可以通过归纳法证明:如果s由相等的字符组成,那么A(s)=B(s)=0;如果s类似 abb…ba(或baa…ab)的结构,那么A(s)=B(s)=1。

    否则,中间至少有一个字符s[i]等于s[1]和s[n]。所以我们可以在s[1-i]和s[i-n]中拆分字符串 s。这两个字符串都有A(s)=B(s)(通过归纳),所以我们的字符串s也有A(s)=B(s)。

    因此,如果s1=sn,那么答案是0,并且我们打印字符串时不动。否则,我们替换s1或sn并得 到所需的字符串。若不一样只需修改开头或结尾的字符。

    • 1

    信息

    ID
    149
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    23
    已通过
    10
    上传者