牛客练习赛78
https://ac.nowcoder.com/acm/contest/11168
给定一个有 n 个单词的词典 。
有 q 次询问,每次询问给定一个单词,询问有多少个单词可以通过交换相邻字母(也可以不交换)变成给定的单词 。
运用map函数定义string映射,通过sort编辑顺序累加对应的数。
#include<bits/stdc++.h>
using namespace std;
map<string,int>M;
char a[10005];
int main(){
int n,q;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%s",a);
int len=strlen(a);
sort(a,a+len);
M[a]++;
}
scanf("%d",&q);
while(q--){
scanf("%s",a);
int len=strlen(a);
sort(a,a+len);
printf("%d\n",M[a]);
}
}
