注意字母对应的数字。。。
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#define N 5001
int A[5001];
int mark[1000001];
int fun(char c)
{
int i;
if(c>='a'&&c<='o')return (c-'a')/3+2;
else if(c>='p'&&c<='s') return 7;
else if(c>='t'&&c<='v')return 8;
else return 9;
}
int main()
{
int T;
int i,j;
int n,m;
char str[10];
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&A[i]);
getchar();
int t;
memset(mark,0,sizeof(mark));
for(i=0;i<m;i++)
{
gets(str);
t=0;
for(j=0;str[j];j++)
{
t=fun(str[j])+t*10;
}
mark[t]++;
}
for(i=0;i<n;i++)
printf("%d\n",mark[A[i]]);
}
return 0;
}