社区讨论

全wa悬关求救

B3997[洛谷 202406GESP 模拟 三级] 小洛的字符串分割参与者 3已保存回复 17

讨论操作

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

当前回复
17 条
当前快照
1 份
快照标识符
@m39qx1i5
此快照首次捕获于
2024/11/09 13:49
去年
此快照最后确认于
2025/11/04 23:36
4 个月前
查看原帖
C
#include<bits/stdc++.h>

using namespace std;

int cut;                        //总计数器
int main(){
    string a,b;
    cin >> a;
    int len1 = a.length();
    int len2 = len1;
    int ans = 0,sum = 0,num = 0;
    for(int i = 1;;i++){        //求出可以取出多少个字符串
        if(len2 >= i){
            len2 -= i;          
            ans ++;             //加一
        }else{
            if(len2 != 0){      //有剩余
                ans ++;          //再加一
                break;
            }else{
                break;          //正好等于0
            }
        }
    }
    //ans=可以取出的字符串数量
    bool c = true;
    for(int i = 1;i <= ans;i++){
        sum += i;               //每个字符串开头字符在原字符串中的位置
        for(int j = 0;j < i;j++){
            b[j] =  a[sum + j];
            num ++;             //提取出来的字符串长度
        }
        for(int k = 0;k < num;k++){
            if(b[k] != b[num - 1 - k]){
                c = false;
            }
        }
        if(c == true){
            cut ++;
        }
        b = "";
    }
    cout << cut << endl;
    return 0;
}

回复

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

正在加载回复...