#ACM0040. 哇!小数心的什锦糖果!

    ID: 173 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>搜索枚举搜索与剪枝其他位运算贪心比赛题

哇!小数心的什锦糖果!

题目描述

在小数心的大学里面,有 NN 个卖糖果的摊位,编号从 11NN。他们共有 MM 种不同口味的糖果,标号为 1,2,,M1,2,\cdots,M ,但是并不是每一个的摊位都会出售所有口味的糖果。

但是小数心是顶级糖果高手,小数心拥有了关于每个摊位都出售哪些口味糖果的信息。这些信息由长度为 MMNN 个字符串,S1,S2,,SNS_1,S_2,\cdots,S_N表示。

如果字符串 SiS_i 的第 jj 个字母是 oo(该字符为小写的字母 ooOPQOPQOO),则表示 ii 摊位上出售的糖果口味为 jj。如果第 jj 个字母是 xx(小写的字母 xx),则表示 ii 摊位不出售口味为 jj 的糖果。每个摊位至少出售一种口味的糖果,每种口味的糖果至少在一个摊位上出售

小数心想尝遍所有口味的糖果,但又不想走动太多。求小数心至少要去多少个摊位才能买到所有口味的爆米花?

输入格式

第一行两个整数 NNMM1N,M101 \leq N, M \leq 10),代表糖果摊位的数量 NN,和糖果的口味的数量 MM

接下来 NN 行,每行一个字符串 SiS_i,代表第 ii 个摊位的出售信息。

数据保证:

对于每个 ii (1iN)(1\leq i\leq N) 中,至少有一个 oo 位于 SiS_i 中。

对于每一个 jj (1jM)(1\leq j \leq M) 中,至少有一个 ii 使得 SiS_i 的第 jj 个字符是 oo

输出格式

一行一个整数,代表小数心尝遍所有口味糖果,至少要去的摊位数量。

输入样例1

3 5
oooxx
xooox
xxooo

输出样例1

2

输入样例2

3 2
oo
ox
xo

输出样例2

1

输入样例3

8 6
xxoxxo
xxoxxx
xoxxxx
xxxoxx
xxoooo
xxxxox
xoxxox
oxoxxo

输出样例3

3

提示

在样例1中,通过访问 11 号和 33 号摊位,小数心可以买到所有口味的糖果。不可能仅在一个摊位上买到所有口味的爆米花,因此答案为 22