猜动物

测试数据来自 system/1322

时间限制:1秒  内存限制:256M


【问题描述】

  小M 和小Y 厌倦了他们的猜石子游戏,她们想要玩另一个叫做“猜动物”的常见游戏。

  游戏开始时,小M 会想好一种动物。随后小Y 会通过问一些问题来猜出小M 选择的动物。每个问题都是询问这种动物是否具有某个特定的特征,小M 对于每个问题回答“是”或“不是”。例如:

  小Y:“这种动物是能飞的吗?”
  小M:“不是。”
  小Y:“这种动物是吃草的吗?”
  小M:“是。”
  小Y:“这种动物是能产奶的吗?”
  小M:“是。”
  小Y:“这种动物是会哞哞叫的吗?”
  小M:“是。”
  小Y:“这样的话我想这种动物是奶牛。”
  小M:“猜对了!”

  如果我们将所有具备符合小Y 到目前为止所提出的问题的特征的动物的集合称为“可行集”,那么小Y 会持续进行提问直到可行集仅包含一种动物,然后她会把这种动物作为她的答案。对于每个问题,小Y 会选择某种动物的一个特征进行询问(即使这个特征并不能进一步帮助她缩小可行集)。她不会关于同一个特征询问两次。

  给定小M和小Y知道的所有动物以及它们的特征,请求出小Y 在猜出正确的动物之前能够得到的“是”的回答的最大数量。

【输入格式】

  输入的第一行包含动物的数量 \(N\)。以下 \(N\) 行每行描述了一种动物。每一行开始是这种动物的名称,接下来是一个整数 \(K\),接下来是这种动物的 \(K\) 个特征。动物的名称和特征是至多 20 个小写字母('a'..'z')组成的字符串。没有两种动物具有完全相同的特征。

【输出格式】

  输出游戏结束之前小Y 可能得到的“是”的回答的最大数量。

【输入输出样例】

 Input

4
bird 2 flies eatsworms
cow 4 eatsgrass isawesome makesmilk goesmoo
sheep 1 eatsgrass
goat 2 makesmilk eatsgrass

 Output

3

【输入输出样例说明】

  在这个例子中,小Y 可能在对话中获得 3 个“是”的回答(题目中的例子),并且不可能进行包含超过 3 个“是”的回答的对话。

【数据限制】

  \(100\%\) 的数据满足:\(2≤N≤100\) ,\(1≤K≤100\) 。

【来源】

  Mr.he

信息

ID
1352
难度
(无)
分类
搜索 | 枚举字符串 点击显示
标签
递交数
0
已通过
0
通过率
?
上传者