Description:
由于龙王阿尔法有天然对群龙的意念操控能力,往往阿尔法走到哪,它的周围一圈都会有各种各样的龙绕着它飞行。
现在,身为年轻英勇的维京勇士小嗝嗝的你,想知道究竟有多少只飞龙环绕阿尔法。问题如下:给你一串字符串由“A-Z”组成代表不同类型的飞龙。比如“BCABCA”,你需要以JHL统计法来统计下每个字母的数量,即输出每个字母的数量在这个字母之前,比如答案为“2A2B2C”。(答案按照字典序输出,即答案不能为2B2C2A)
Input:
第一行输入一个T(T<=500)表明有T组测试样例,
在每个测试样例中,输入一个字符串,不超过1000个字母,保证都为大写字母
Output:
对于每个测试样例,输出占一行,按上文描述输出结果
Sample Input:
1
ABCABC
Sample Output:
2A2B2C
#include <iostream>
#include "map"
#include "string"
using namespace std;
/**
* kkmd66
* @return
*/
int main() {
int T;
cin >> T;
for (int i = 0; i < T; ++i) {
string str;
cin >> str;
//存储
map<char, int> comp;
for (int j = 0; j < str.size(); ++j) {
if (comp.find(str.at(j)) != comp.end()) {
comp.find(str.at(j))->second++;
} else
comp.insert(make_pair(str.at(j), 1));
}
//输出
for (auto it = comp.begin(); it != comp.end(); it++) {
cout<<it->second<<it->first;
}
cout<<endl;
}
return 0;
}