比赛场次 56
比赛名称 山东省选(随意做)
比赛状态 已结束比赛成绩
开始时间 2010-04-12 14:30:00
结束时间 2010-04-12 18:00:00
开放分组 全部用户
组织者
注释介绍 练手
题目名称 Bill的挑战
输入输出 set.in/out
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatar.Xmz AAAAAAAAAA 0.000 s 0.00 MiB 100

2. Bill的挑战

★★★   输入文件:set.in   输出文件:set.out  
时间限制:1 s   内存限制:256 MiB

【题目描述】

Sheng_bill 不仅有惊人的心算能力,还可以轻松地完成各种统计。在昨天的比赛中,你凭借优秀的程序与他打成了平局,这导致 Sheng_bill  极度的不满。于是他再次挑战你。这次你可不能输。

这次,比赛规则是这样的:

给出 $N$ 个长度相同的字符串(由小写英文字母和 `?` 组成),$S_1,S_2,\dots,S_N$,求与这 $N$ 个串中的刚好 $K$ 个串匹配的字符串 $T$ 的个数,答案对 $1000003$ 取模。

若字符串 $S_x(1\le x\le N)$ 和 $T$ 匹配,满足以下条件:

1. $|S_x|=|T|$。

2. 对于任意的 $1\le i\le|S_x|$,满足 $S_x[i]= ?$ 或者 $S_x[i]=T[i]$。

其中 $T$ 只包含小写英文字母。

【输入格式】

本题包含多组数据。

第一行一个整数 $T$,表示数据组数。

对于每组数据,第一行两个整数,$N$ 和 $K$。

接下来 $N$ 行,每行一个字符串 $S_i$。

【输出格式】

每组数据输出一行一个整数,表示答案。

【样例 1 输入】

5
3 3
???r???
???????
???????
3 4
???????
?????a?
???????
3 3
???????
?a??j??
????aa?
3 2
a??????
???????
???????
3 2
???????
???a???
????a??

【样例 1 输出】

914852
0
0
871234
67018

【数据规模与约定】

对于 $30\%$ 的数据,$N\le5$,$|S_i|\le20$;

对于 $70\%$ 的数据,$N\le13$,$|S_i|\le30$;

对于 $100\%$ 的数据,$1\le T\le 5$,$1\le N \le15$,$1\le|S_i|\le50$。