题意:每个数有对应的字母
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()
{
int T, n, m, qt[5005];
char s[10];
le['a'] = le['b'] = le['c'] = 2;
le['d'] = le['e'] = le['f'] = 3;
le['i'] = le['h'] = le['g'] = 4;
le['j'] = le['k'] = le['l'] = 5;
le['o'] = le['n'] = le['m'] = 6;
le['p'] = le['q'] = le['r'] = le['s'] =
7;
le['v'] = le['u'] = le['t'] = 8;
le['w'] = le['x'] = le['y'] = le['z'] = 9;
scanf("%d", &T);
while (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]]);
}
return 0;
}
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()
{
}