Guess Who
시간 제한1초메모리 제한1024 MB
주어진 답과 모든 속성이 일치하는 캐릭터를 찾습니다. 한 명이면 번호를, 여러 명이면 일치하는 수를 출력합니다.
- 난이도
쉬움10점 중 2점
- 유형
- 구현
- 정답자
- 아직 제출이 없습니다
문제
Guess Who는 두 명이 하는 보드 게임이다. 각 캐릭터는 속성의 집합으로 고유하게 구분된다. 예를 들어 안경을 쓰고 있다는 속성이 있다. 각 플레이어는 상대의 숨겨진 캐릭터를 맞히려고 예/아니오로 답하는 질문을 던진다. 질문은 캐릭터가 안경을 쓰고 있는지 묻는 식이다.
이 변형에서는 캐릭터가 명 있고, 각 캐릭터는 개의 속성 집합으로 고유하게 구분된다. 속성 값은 YES 또는 NO 중 하나다. 캐릭터 목록과 속성, 그리고 개의 질문과 그에 대한 응답이 주어진다. 가능하다면 숨겨진 캐릭터를 알아내라.
입력
첫 줄에 공백으로 구분된 정수 , , 가 주어진다. 조건은 , , 이다. 다음 개의 줄에는 각각 길이가 인 문자열이 주어진다. 각 문자는 Y 또는 N이다. 번째 줄은 번째 캐릭터의 개 속성 값을 나타낸다.
이어지는 개의 줄에는 정수 (), 공백, 그리고 Y 또는 N 문자가 주어진다. 이는 속성 에 관한 질문이며, 숨겨진 캐릭터의 해당 속성이 YES인지 NO인지를 뜻한다. 속성마다 질문은 최대 하나다. 주어진 모든 응답과 일치하는 캐릭터가 적어도 하나 있다.
출력
첫 줄에는 응답과 일치하는 캐릭터가 하나뿐이면 unique를, 둘 이상이면 ambiguous를 출력한다.
숨겨진 캐릭터를 하나로 특정할 수 있으면 둘째 줄에 그 캐릭터의 번호(1에서 사이)를 출력한다. 가능한 캐릭터가 여러 명이면 둘째 줄에 그 수를 출력한다.