解药还是毒药

成绩 100 开启时间 2020年04月27日 星期一 21:50
折扣 0.8 折扣时间 2020年04月27日 星期一 21:50
允许迟交 关闭时间 2020年04月27日 星期一 21:50
输入文件 heal.in 输出文件 heal.out

【题目描述】解药还是毒药(heal)codevs 2594

Smart研制出对付各种症状的解药,可是他一个不小心,每种药都小小地配错了一点原料,所以这些药都有可能在治愈某些病症的同时又使人患上某些别的病症,经过Smart的努力,终于弄清了每种药的具体性能,他会把每种药能治愈的病症和能使人患上的病症列一张清单给你,然后你要根据这张清单找出能治愈所有病症的最少药剂组合……顺便说一声,病症的数目不超过10种,而且他的药是用不完的,就是说每种药剂都可以被重复使用。

【输入格式】

给的单子里第一行是病症的总数n(1≤n≤10)。

第二行是药剂的种类m(0<m≤100)。

随后有m行,每行有n个数字用空格隔开,文件的第i+2行的n个数字中,如果第j个数为1,就表示第i种药可以治愈病症j(如果患有这种病的话则治愈,没有这种病则无影响),如果为0表示无影响,如果为-1表示反而能使人得上这种病(无病患上,有病无影响)。Smart制的药任何两种性能都不同。

【输出格式】

你只要输出用的最少的药剂数就可以了,如果用尽了所有的药也不能将所有病治愈,则输出“The patient will be dead.”。

【输入样例】

3

2

1 0 1

-1 1 0

【输出样例】

2