牛客练习赛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]); } }