标签:
2 2 0
代码(映射一下就好了,简单哈希):
1 #include<stdio.h> 2 #include<algorithm> 3 #include<string.h> 4 using namespace std; 5 #define Max 1008611 6 int Sign[Max]; 7 int To[26]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9}; 8 int Deal(char str[]) 9 { 10 int i,Sum=0,Len=strlen(str); 11 for(i=0;i<Len;i++) 12 { 13 Sum=Sum*10+To[str[i]-‘a‘]; 14 } 15 return Sum; 16 } 17 int main() 18 { 19 int T,N,M,i,j; 20 int Num[5117]; 21 char Str[5117]; 22 scanf("%d",&T); 23 while(T--) 24 { 25 memset(Sign,0,sizeof(Sign)); 26 scanf("%d%d",&N,&M); 27 for(i=0;i<N;i++) 28 { 29 scanf("%d",&Num[i]); 30 } 31 for(i=0;i<M;i++) 32 { 33 scanf(" %s",Str); 34 Sign[Deal(Str)]++; 35 } 36 for(i=0;i<N;i++) 37 { 38 printf("%d\n",Sign[Num[i]]); 39 } 40 } 41 return 0; 42 }
标签:
原文地址:http://www.cnblogs.com/LWF5201314614/p/4693303.html