stl-vector

#include<iostream>
#include<vector>
#include<string>
using namespace std;
//unordered_map<char,vector<int>> mp;  map是hash表,不能保证插入顺序(弃用)
struct st{
    char a;
    vector<int> index;
    st(char aa,int i){
        a=aa;
        index.push_back(i);
    }
};vector<st> vec;string s;int j;
int main(){
    while(cin>>s){
        vec.clear();
        for(int i=0;i<s.size();i++){
            for(j=0;j<i;j++){
                if(vec[j].a==s[i]){
                    vec[j].index.push_back(i);break;
                }
            }if(j==i)vec.push_back(st(s[i],i));
        }for(int i=0;i<vec.size();i++){
            if(vec[i].index.size()>1){
                for(int j=0;j<vec[i].index.size();j++){
                    if(j==0)printf("%c:%d",vec[i].a,vec[i].index[j]);
                    else printf(",%c:%d",vec[i].a,vec[i].index[j]);
                }printf("\n");
            }
        }
    }
    return 0;
}