33OJ
登录 注册

#ABC480B. 无效选票

无效选票

无效选票

题目描述

有 NN 位候选人参加选举,编号为 1,2,…,N1, 2, \dots, N。每位候选人的名字都由小写英文字母组成,且任意两位候选人的名字都不同。第 ii 位候选人的名字是 SiS_i。

共投出了 MM 张选票,编号为 1,2,…,M1, 2, \dots, M。第 jj 张选票上写着一个由小写英文字母组成的字符串 TjT_j。

对每张选票按如下规则计票:

  • 如果有一位候选人的名字与 TjT_j 完全相同,则该候选人获得 11 票;
  • 否则,如果恰好有一位候选人的名字可以由 TjT_j 改动 11 个字符得到,则该候选人获得 11 票;
  • 否则这张选票作废。

这里「由 TjT_j 改动 11 个字符得到」是指:把 TjT_j 中某一个位置上的字符换成另一个小写英文字母,其余字符保持不变。因此改动后字符串的长度与 TjT_j 相同;若某位候选人的名字长度与 TjT_j 不同,它就不可能由 TjT_j 改动 11 个字符得到。

请对每个 i=1,2,…,Ni = 1, 2, \dots, N,求出候选人 ii 获得的票数。

输入格式

第一行两个整数 N,MN, M,用一个空格隔开。

接下来 NN 行,第 ii 行为一个字符串 SiS_i,表示候选人 ii 的名字。

再接下来 MM 行,第 jj 行为一个字符串 TjT_j,表示第 jj 张选票上写的内容。

所有字符串都只含小写英文字母,不含空格。

输出格式

输出 NN 行。第 ii 行一个整数,表示候选人 ii 获得的票数。

5 8
takahashi
aoki
sato
kato
kano
aoki
takanashi
sano
atcoder
chokudai
kato
aoki
yato
1
2
0
1
0

样例 1 解释

共有 55 位候选人:takahashi、aoki、sato、kato、kano。

第 11 张选票上写着 aoki,它与候选人 22 的名字完全相同,候选人 22 获得 11 票。

第 22 张选票上写着 takanashi。把第 55 个字符从 n 改成 h 就能得到候选人 11 的名字,并且没有其他候选人满足条件,所以候选人 11 获得 11 票。

第 33 张选票上写着 sano。把第 33 个字符从 n 改成 t 能得到候选人 33 的名字,把第 11 个字符从 s 改成 k 能得到候选人 55 的名字,满足条件的候选人不止一位,因此这张选票作废。

第 44 张选票 atcoder 与第 55 张选票 chokudai 的长度与所有候选人的名字都不同,因此不可能「相差 11 个字符」,作废。第 66 张选票 kato 与候选人 44 的名字完全相同,候选人 44 获得 11 票。第 77 张选票 aoki 与候选人 22 的名字完全相同,候选人 22 再获得 11 票。第 88 张选票 yato 与候选人 33 的名字 sato、候选人 44 的名字 kato 都恰好相差 11 个字符,作废。

2 5
a
b
a
b
c
a
aa
2
1

数据范围

对于所有测试数据,保证:

  • 1≤N≤1001 \le N \le 100;
  • 1≤M≤1001 \le M \le 100;
  • 1≤∣Si∣≤101 \le |S_i| \le 10;
  • 若 i≠ji \neq j,则 Si≠SjS_i \neq S_j;
  • 1≤∣Tj∣≤101 \le |T_j| \le 10;
  • SiS_i 与 TjT_j 都只由小写英文字母组成;
  • 所有输入值都是整数。

子任务

本题共 20 个测试点,按测试点计分:

测试点 分值 每个测试点 特殊限制
1∼201 \sim 20 100100 55 无特殊限制

每个测试点单独评分,全部测试点的得分之和即为本题得分。