[51NOD1095] Anigram单词(map)

Posted tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[51NOD1095] Anigram单词(map)相关的知识,希望对你有一定的参考价值。

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1095

字典的单词在map中排序和不排序各存1次,查的时候相减。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 const int maxn = 10100;
 5 int n, q;
 6 char tmp[12];
 7 map<string, int> d1;
 8 map<string, int> d2;
 9 
10 int main() {
11   // freopen("in", "r", stdin);
12   while(~scanf("%d",&n)) {
13     d1.clear(); d2.clear();
14     for(int i = 0; i < n; i++) {
15       scanf("%s", tmp);
16       d1[tmp]++;
17       sort(tmp, tmp+strlen(tmp));
18       d2[tmp]++;
19     }
20     scanf("%d",&q);
21     while(q--) {
22       scanf("%s", tmp);
23       int a = d1[tmp];
24       sort(tmp, tmp+strlen(tmp));
25       int b = d2[tmp];
26       printf("%d\n", b-a);
27     }
28   }
29   return 0;
30 }

 

以上是关于[51NOD1095] Anigram单词(map)的主要内容,如果未能解决你的问题,请参考以下文章

51Nod1095 Anigram单词

51Nod 1095 Anigram单词

51Nod 1095 Anigram单词 | Hash

nod51 1239

51nod 1393 0和1相等串 思路 : map存前缀和

51nod 1267二分+优化试验场