参考代码:
#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;
}