问题:
输入n个3个大写字母的字符串;
输入m个查询字符串;
输出对应查询字符串在n个字符串中出现的次数。
#include<iostream>
using namespace std;
const int maxn=100;
char S[maxn][5];
char temp[5];
int hashTable[26*26*26+10];
int hashFunc(char S[],int len)
{
int ans=0;
for(int i=0;i<len;i++)
{
ans=ans*26+(S[i]-'A');
}
return ans;
}
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>S[i];
int id=hashFunc(S[i],3);
hashTable[id]++;
}
for(int i=0;i<m;i++)
{
cin>>temp;
int id=hashFunc(temp,3);
cout<<hashTable[id]<<endl;
}
return 0;
}



1607

被折叠的 条评论
为什么被折叠?



