51nod 1095【映射】

来源:互联网 发布:程序员面试题目 编辑:程序博客网 时间:2024/06/06 13:08

思路:
利用一个map记录初始的,利用一个map记录排序后的。

#include <bits/stdc++.h>using namespace std;map<string,int>qs;map<string,int>qe;int main(){    string s;    int n;    scanf("%d",&n);    for(int i=0;i<n;i++)    {        cin>>s;        qs[s]+=1;        sort(s.begin(),s.end());        qe[s]+=1;    }    int q,temp;    scanf("%d",&q);    for(int i=0;i<q;i++)    {        cin>>s;        temp=qs[s];        sort(s.begin(),s.end());        printf("%d\n",qe[s]-temp);    }    return 0;}
0 0