一个十分简单的代码

· · 题解

纯模拟

首先遍历左右端点,然后从两端向中间遍历,对两端的数值进行比较,并统计个数。 话不多说直接上代码

#include<bits/stdc++.h>
using namespace std;
int sum;
string a;
int main(){
    cin>>a;
    for(int i=0;i<a.size();i++){
        for(int j=i;j<a.size();j++){
            if(a[j]<a[i]){
                sum++;
            }
            else if(a[j]==a[i]&&i!=j){
                for(int x=i,y=j;y>x;x++,y--){
                    if(a[y]<a[x]){
                        sum++;
                        break;
                    }
                    else if(a[y]>a[x]){
                        break;
                    }
                }
            }
        }
    }
    printf("%d",sum);
    return 0;
}