#include <cstdio> #include <iostream> using namespace std; #include<set> int main() { string s; multiset<char> set1; //multiset类可允许元素重复,所以可以用count函数计算目标元素的个数 while (cin>>s) { int n = s.length(); for(int i=0;i<n;i++){ char c = s[i]; set1.insert(c); } for(int i=0;i<n;i++){ // 如果该元素的总个数仅为0或1 if (set1.count(s[i]) <= 1 ) { // cout<<"hi"; continue; } for(int j=i;j<n;j++){ if (s[j] != s[i]) { continue; } cout<<s[i]<<":"<<s.find(s[i],j); // 如果不是相同元素的最后一个 if(s.find(s[i],j+1) <= s.size()){ cout<<","; }else { cout<<endl; } } // 在set1中除去已经输出的元素 set1.erase(s[i]); } } return 0; } // 64 位输出请用 printf("%lld")