正统的解法还是要用Trie Tree 前缀树
#include <iostream>
#include <unordered_map>
using namespace std;
int n;
char op;
string s;
unordered_map<string, int> freq; // freq == frequency
int main(void) {
cin >> n;
while (n--) {
cin >> op >> s;
switch (op) {
case 'I': ++freq[s]; break; // I == Insert
case 'Q': printf("%d\n", freq[s]); // Q == Query
default: break; // NOP
}
}
return 0;
}