U681009 #1554. [2020普转提七连测day3] 神奇位运算
题目描述
CLB 有你 $n$ 个长为 $m$ 的 $01$ 串,和一台神奇的机器。
这台机器需要由两个长度为 $m$ 的 $01$ 串作为输入,然后可以得到一个长度为 $m$ 的 $01$ 串作为输出。
输出的每一位是两个 $01$ 串的对应位的 $and, or, xor$ 三种运算中的一种的结果。你需要确定机器在每一位上究竟会做何种运算。
CLB 可以用这 $n$ 个 $01$ 串的任意一对来测试这台机器,并且可以测试无数次,但是 CLB 可能依然不能确定某一位机器究竟是做的何种运算。
现在 CLB 想在这 $n$ 个 01 串的基础上再添加 $k$ 个长度为 $m$ 的 $01$ 串(**这 个 $01$ 串可以是任意的,每一位是由自己构造的**)。CLB 想知道最小的 $k$,使得用这 $n+k$ 个 01 串的任意一对来测试这台机器,并且可以测试无数次,最终他能知道每一位机器做的何种运算。
CLB 把这个问题抛给了你,希望你给出最小的 $k$。
输入格式
本题采用多组数据测试,一行包括一个正整数 $T$,表示数据的组数。
对于每一组数据:
第一行包括两个正整数 $n$。
之后 $m$ 行包括 $n$ 个长度为 $m$ 的 $01$ 串
输出格式
对于每一组数据,都包括一行非负整数,表示最少的 $k$(即需要添加的字符串)。