https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1095
用map对每一个单词进行记录,然后进行排序,就能得到不同的单词种类,减去原本存在的相同的单词。
#include<bits/stdc++.h> using namespace std; map<string,int>mp1,mp2; char s[15]; main() { int n,q,num1,num2,i,len; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",s); mp1[s]++; len=strlen(s); sort(s,s+len); mp2[s]++; } scanf("%d",&q); for(i=0;i<q;i++) { scanf("%s",s); num1=mp1[s]; len=strlen(s); sort(s,s+len); num2=mp2[s]; printf("%d ",num2-num1); } }