QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#20916. 猜动物

Statistics

厌倦平常的猜杯子游戏时,奶牛 Bessie 和朋友 Elsie 喜欢玩另一种常见游戏「猜动物」。

首先 Bessie 想一种动物(大多数时候是奶牛,所以游戏相当无聊,但偶尔也会发挥创意,想其他动物)。然后 Elsie 连续提问,以确定选了什么动物。每个问题询问动物是否具有某个特征,Bessie 回答「是」或「否」。例如:

Elsie: "这动物会飞吗?"
Bessie: "否"
Elsie: "这动物吃草吗?"
Bessie: "是"
Elsie: "这动物产奶吗?"
Bessie: "是"
Elsie: "这动物会哞哞叫吗?"
Bessie: "是"
Elsie: "那么我认为它是奶牛。"
Bessie: "正确!"

如果将与 Elsie 迄今提问结果一致的所有动物称为「可行集合」,她会持续提问直到集合仅剩一种动物,然后宣布该动物为答案。每次她选择可行集合中某动物具有的特征来问,即使这可能无法进一步缩小集合。她从不重复询问同一特征。

给定她们知道的所有动物及其特征,求 Elsie 在知道正确动物之前最多可能收到多少次「是」的回答。

输入格式

从标准输入读取。

第一行包含动物数 $N$($2 \leq N \leq 100$)。接下来 $N$ 行各描述一种动物:先是动物名,再是整数 $K$($1 \leq K \leq 100$),然后是它的 $K$ 个特征。名称和特征都是长度不超过 20 的小写字母字符串(a..z)。没有两种动物的特征完全相同。

输出格式

将结果写到标准输出。

输出游戏结束前 Elsie 最多可能收到的「是」的回答次数。

样例

输入格式 1

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

输出格式 1

3

说明

样例中可以产生 3 次「是」的对话记录(如上所示),而无法产生超过 3 次「是」的记录。

题目作者:Brian Dean

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.