HDU 4287 Intelligent IME

简单的字符串问题

思路:map容器或字典树解决


#include<iostream>
#include<map>
#include<string>
using namespace std;
char tmp[27]="22233344455566677778889999";
map<string,int> v;
char ch[5001][7],s[7];
int main()
{
   int T,i,n,m,j;
   scanf("%d",&T);
   while(T--)
   {
      scanf("%d%d",&n,&m);
      v.clear();
      for(i=0;i<n;i++)
          scanf("%s",ch[i]);
      for(i=0;i<m;i++)
      {
        scanf("%s",s);
        j=0;
        while(s[j]!=0)
        {
            s[j]=tmp[s[j]-'a'];
            j++;
        }
        v[s]=v[s]+1;
      }
      for(i=0;i<n;i++)
          printf("%d\n",v[ch[i]]);
   }
   return 0;
}


你可能感兴趣的:(ini)