参考代码:
#include<bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false); string str;cin >> str;int sum = 0;int left, right;char s;int len = str.size();for(int i = 0; i < len; i++) //依次循环每一个字符,将其贡献值相加 {s = str[i]; //当前遍历的字符为s left = i - 1;while(left >= 0) //找到左边第一个与s字符相同的位置 {if(str[left] == s)break;left--;}right = i + 1;while(right < len) //找到右边第一个与s字符相同的位置 {if(str[right] == s)break;right++;}sum += (right-i) * (i-left); //贡献值相加,左边的乘以右边的是总搭配组合数 }cout << sum;return 0;
}