解题思路:  中心思想:s[l] > s[r]则满足条件,答案的个数+1。
注意事项:

1.判断函数最后要加上return 0;

2.第二个循环,即右下标不要写r>1,要写>l,即大于左下标

3.左下标是可以取到n-2的

参考代码:

#include <iostream>
#include <string>
using namespace std;
string s;
int pd(int l, int r)
{
    while (l<r)
    {
        if (s[l] > s[r])
            return 1;
        else if (s[l] == s[r])
        {
            l++;
            r--;
        }
        else break;            
    }
    return 0;
}
int main()
{
    int m = 0;
    cin >> s;
    int n = s.length();
    for (int i = 0; i <= n - 2; i++)
    {
        for (int j = n - 1; j > i; j--)
        {
            if (pd(i,j))
            {
                m++;
            }
        }
    }
    cout << m;
    return 0;

}

点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论