2 : a, b, c
3 : d, e,
f
4 : g, h, i
5 : j, k,
l
6 : m, n, o
7 : p, q, r, s
8 : t, u,
v
9 : w, x, y, z
给出一数字和单词 问该数字能组成下列单词中的多少个?
#include <stdio.h>
using namespace std;
int a[1000000];
int le[126];
int main()
{
qt[5005];
s[10];
le['b'] = le['c'] = 2;
le['e'] = le['f'] = 3;
le['h'] = le['g'] = 4;
le['k'] = le['l'] = 5;
le['n'] = le['m'] = 6;
le['q'] = le['r'] = le['s'] =
le['u'] = le['t'] = 8;
le['x'] = le['y'] = le['z'] = 9;
&T);
(T--)
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++)
scanf("%d", &qt[i]);
memset(a, 0, sizeof(a));
for (int i = 0; i < m; i++)
{
scanf("%s", s);
int L = strlen(s), ans = 0;
for (int i = 0; i < L; i++)
ans = 10*ans + le[s[i]];
a[ans]++;
}
for (int i = 0; i < n; i++)
printf("%d\n", a[qt[i]]);
0;
}