만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Guess Who

시간 제한1초메모리 제한1024 MB

요약
주어진 답과 모든 속성이 일치하는 캐릭터를 찾습니다. 한 명이면 번호를, 여러 명이면 일치하는 수를 출력합니다.
난이도

쉬움10점 중 2점

유형
구현
정답자
아직 제출이 없습니다

문제

Guess Who는 두 명이 하는 보드 게임이다. 각 캐릭터는 속성의 집합으로 고유하게 구분된다. 예를 들어 안경을 쓰고 있다는 속성이 있다. 각 플레이어는 상대의 숨겨진 캐릭터를 맞히려고 예/아니오로 답하는 질문을 던진다. 질문은 캐릭터가 안경을 쓰고 있는지 묻는 식이다.

이 변형에서는 캐릭터가 NN명 있고, 각 캐릭터는 MM개의 속성 집합으로 고유하게 구분된다. 속성 값은 YES 또는 NO 중 하나다. 캐릭터 목록과 속성, 그리고 QQ개의 질문과 그에 대한 응답이 주어진다. 가능하다면 숨겨진 캐릭터를 알아내라.

입력

첫 줄에 공백으로 구분된 정수 NN, MM, QQ가 주어진다. 조건은 1≤N≤1 0001 \leq N \leq 1\,000, 1≤M≤151 \leq M \leq 15, 1≤Q≤M1 \leq Q \leq M이다. 다음 NN개의 줄에는 각각 길이가 MM인 문자열이 주어진다. 각 문자는 Y 또는 N이다. ii번째 줄은 ii번째 캐릭터의 MM개 속성 값을 나타낸다.

이어지는 QQ개의 줄에는 정수 AA(1≤A≤M1 \leq A \leq M), 공백, 그리고 Y 또는 N 문자가 주어진다. 이는 속성 AA에 관한 질문이며, 숨겨진 캐릭터의 해당 속성이 YES인지 NO인지를 뜻한다. 속성마다 질문은 최대 하나다. 주어진 모든 응답과 일치하는 캐릭터가 적어도 하나 있다.

출력

첫 줄에는 응답과 일치하는 캐릭터가 하나뿐이면 unique를, 둘 이상이면 ambiguous를 출력한다.

숨겨진 캐릭터를 하나로 특정할 수 있으면 둘째 줄에 그 캐릭터의 번호(1에서 NN 사이)를 출력한다. 가능한 캐릭터가 여러 명이면 둘째 줄에 그 수를 출력한다.

예제2

  1. 예제 1

    입력
    5 5 3
    YYYYY
    NNNNN
    YNYNY
    YYYNN
    NNYYY
    1 N
    2 N
    3 Y
    
    예상 출력
    unique
    5
    
  2. 예제 2

    입력
    5 5 3
    YYYYY
    NNNNN
    YNYNY
    YYNNN
    NNNYY
    1 Y
    5 Y
    3 Y
    
    예상 출력
    ambiguous
    2