Black Vienna
시간 제한1초메모리 제한256 MB
각 조사 응답과 두 사람의 패 분배에 모두 들어맞는 세 용의자 조합이 몇 개인지 셉니다.
문제
Black Vienna는 스파이 세 명의 정체를 알아내는 추리 퍼즐이다. 용의자는 26명이고, 각 용의자는 'A'부터 'Z'까지의 알파벳 한 글자가 적힌 카드 한 장으로 나타낸다. 카드를 섞은 다음 세 장을 아무도 보지 못하게 따로 빼놓는데, 이 세 장이 Black Vienna 서클이다. 남은 23장은 두 참가자에게 나눠 준다. 23은 홀수라서 두 참가자가 받는 장수는 항상 다르고, 한 참가자가 23장을 모두 받고 다른 참가자가 한 장도 받지 못할 수도 있다.
퍼즐의 목표는 조사 결과로 서클에 든 용의자를 알아내는 것이다. 조사 한 번은 용의자 두 명과 참가자 한 명으로 이루어지고, 지목된 참가자는 두 용의자 중 자기 손에 있는 카드가 몇 장인지 답한다. 조사를 여러 번 하면 서클에 들어갈 수 있는 용의자를 좁힐 수 있다. 서클에 든 용의자는 어느 참가자의 손에도 없다.
조사 결과를 읽고 가능한 답, 즉 Black Vienna 서클을 이루는 용의자 세 명의 집합이 몇 가지인지 세는 프로그램을 작성하라. 참가자의 답이 서로 모순이어서 답이 하나도 없을 수도 있다.
입력
첫째 줄에 조사 횟수 이 주어진다. 다음 개의 줄에는 조사가 한 번씩 주어진다. 각 줄은 서로 다른 두 대문자('A'부터 'Z')를 공백 없이 붙인 문자열, 참가자 번호(1 또는 2), 답(0 이상 2 이하의 정수)으로 이루어지고, 세 값은 공백으로 구분한다.
같은 쌍을 여러 번 조사할 수도 있고, 두 글자를 알파벳 순서대로 쓰지 않을 수도 있다.
출력
가능한 답의 개수, 즉 Black Vienna 서클을 이룰 수 있는 서로 다른 용의자 세 명의 집합이 몇 개인지 한 줄에 출력한다.
제한
- , 조사 횟수