题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1095
字典的单词在map中排序和不排序各存1次,查的时候相减。
#include <bits/stdc++.h>
using namespace std; const int maxn = ;
int n, q;
char tmp[];
map<string, int> d1;
map<string, int> d2; int main() {
// freopen("in", "r", stdin);
while(~scanf("%d",&n)) {
d1.clear(); d2.clear();
for(int i = ; i < n; i++) {
scanf("%s", tmp);
d1[tmp]++;
sort(tmp, tmp+strlen(tmp));
d2[tmp]++;
}
scanf("%d",&q);
while(q--) {
scanf("%s", tmp);
int a = d1[tmp];
sort(tmp, tmp+strlen(tmp));
int b = d2[tmp];
printf("%d\n", b-a);
}
}
return ;
}