Think:
1知识点:桶思想,字符串处理
2反思:多思考,寻找题目特点,进而选择解题方法
以下为Accepted代码——78ms
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int bk[5014], vis[1000000];
int red[44] = {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};
int tra(char *st);
int main(){
int T, n, m, i, num;
char st[14];
scanf("%d", &T);
while(T--){
scanf("%d %d", &n, &m);
for(i = 1; i <= n; i++)
scanf("%d", &bk[i]);
getchar();
memset(vis, 0, sizeof(vis));
for(i = 1; i <= m; i++){
scanf("%s", st);
num = tra(st);
vis[num]++;
}
for(i = 1; i <= n; i++)
printf("%d\n", vis[bk[i]]);
}
return 0;
}
int tra(char *st){
int i, cnt, sum;
int len = strlen(st);
sum = 0;
for(i = 0; i < len; i++){
cnt = st[i] - 'a';
sum = sum*10 + red[cnt];
}
return sum;
}

本文介绍了一种利用桶思想解决字符串处理问题的方法,并通过一个具体示例详细讲解了实现过程。文章强调了多角度思考的重要性,展示了如何通过观察题目特点来选择合适的解题策略。
2440

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



