파일 업로드

🎨AI 리소스 생성

프롬프트 없음

동물 맞추기

profile
실행 시간 제한메모리 제한
2 초512 MB
📃 해결할 문제

베시와 그 친구 엘시는 '동물 맞추기'라는 게임을 좋아합니다.

처음에, 베시는 어떤 동물을 생각합니다(대부분의 경우, 이 동물은 암소로 게임이 다소 지루해지면 베시는 창의적으로 다른 것을 생각합니다). 그 후 엘시가 일련의 질문을 통해 베시가 선택한 동물이 무엇인지 알아내기 위해 진행합니다. 각 질문은 동물이 특정한 특성을 가지고 있는지 묻고, 베시는 각 질문에 '예' 또는 '아니요'로 대답합니다. 예를 들면:

Elsie: "Does the animal fly?" 
Bessie: "No" 
Elsie: "Does the animal eat grass?" 
Bessie: "Yes" 
Elsie: "Does the animal make milk?"
Bessie: "Yes" 
Elsie: "Does the animal go moo?"
Bessie: "Yes" 
Elsie: "In that case I think the animal is a cow." 
Bessie: "Correct!"

우리가 엘시의 질문들로 지금까지 생각해본 동물들의 특성과 일치하는 모든 동물들의 집합을 '가능한 집합'이라고 부른다면, 엘시는 가능한 집합에 딱 하나의 동물만 남을 때까지 질문을 계속합니다. 그리고 그때 그 동물을 그녀의 답으로 발표합니다. 각 질문에서, 엘시는 가능한 집합에 있는 어떤 동물의 특성을 선정해 질문합니다(그 특성이 그녀가 가능한 집합을 더 좁혀나가는 데 도움이 되지 않을지라도). 그녀는 같은 특성에 대해 두 번 질문하지 않습니다.

베시와 엘시가 알고 있는 모든 동물들과 그들의 특성을 고려하면, 엘시가 올바른 동물을 알아내기 전에 받을 수 있는 '예' 응답의 최대 수를 결정해 주십시오.

💻 입력

입력의 첫 줄에는 동물의 수, NN (2N1002 \leq N \leq 100)이 주어집니다. 다음 NN 줄 각각은 동물을 설명합니다. 줄은 동물의 이름으로 시작하고, 그 다음에는 정수 KK (1K1001 \leq K \leq 100), 그 다음에는 그 동물의 KK 가지 특성이 따릅니다. 동물의 이름과 특성은 최대 20개의 소문자(a..z)로 이루어진 문자열입니다. 두 동물이 정확히 같은 특성을 갖는 경우는 없습니다.

🖨️ 출력

게임이 끝나기 전에 엘시가 받을 수 있는 '예' 응답의 최대 수를 출력해 주십시오.


💻 예제 입력 1
4
bird 2 flies eatsworms
cow 4 eatsgrass isawesome makesmilk goesmoo
sheep 1 eatsgrass
goat 2 makesmilk eatsgrass
🖨️ 예제 출력 1
3

💡 힌트

이 예시에서, 엘시가 위에서 언급한 3개의 '예' 응답을 생성할 수 있으며, 이보다 많은 '예' 응답을 생성할 수 없습니다.


출처: USACO 2019 January Contest, Bronze Problem 3. Guess the Animal