#include <iostream> #include<map> #include<vector> using namespace std; int main() { string str; while(cin>>str){ map<char, vector<int>> m; //哈希表 vector<char>set; //由于map输出的顺序和输入不一致,用一个vector记录输入顺序 for(int i=0;i<str.size();++i){ //建立映射 if(m.find(str[i])==m.end()){ set.push_back(str[i]); } m[str[i]].push_back(i); } for(auto it=set.begin();it!=set.end();++it){ //按顺序输出 auto item=m[*it]; int n=item.size(); //该字符对应出现的次数 if(n>1){ for(int i=0;i<n;++i){ if(i!=n-1) cout<<*it<<":"<<item[i]<<","; else cout<<*it<<":"<<item[i]<<endl; } } } } }