解题思路:  中心思想: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分

1 人评分

  评论区

  • «
  • »