짝수로 복수하는 베시
면접 대비시간 제한1초메모리 제한256 MB
일곱 변수에 주어진 후보 값을 대입해 식 (B+E+S+S+I+E)(G+O+E+S)(M+O+O)이 짝수가 되는 경우의 수를 구합니다.
문제
농부 존과 소 베시는 시간이 나면 수학 퍼즐을 주고받는다. 존이 마지막으로 낸 퍼즐은 꽤 어려워서 베시는 풀지 못했다. 이번에는 베시가 어려운 퍼즐을 내서 존에게 되갚으려 한다.
베시가 존에게 준 식은 이고, 변수는 일곱 개다. 여기서 는 숫자 0이 아니라 변수다. 베시는 각 변수마다 그 변수가 가질 수 있는 정수 값을 최대 20개까지 알려준다. 존은 식 전체의 값이 짝수가 되도록 변수에 값을 배정하는 서로 다른 방법의 개수를 세야 한다.
입력
첫째 줄에 정수 이 주어진다. 다음 개의 줄에는 각각 변수 하나와 그 변수가 가질 수 있는 값 하나가 공백으로 구분되어 주어진다. 각 변수는 이 목록에 적어도 한 번 나오고, 많아도 20번 나온다. 같은 변수에 같은 값이 두 번 나오는 경우는 없다. 모든 값은 이상 이하다. 따라서 은 7 이상 140 이하다.
출력
식의 값이 짝수가 되도록 변수에 값을 배정하는 방법의 수를 한 줄에 출력한다.
힌트
인 예제에서 가능한 배정은 여섯 가지다.
(B,E,S,I,G,O,M) = (2, 5, 7, 10, 1, 16, 19) -> 53244
= (2, 5, 7, 10, 1, 16, 2 ) -> 35496
= (2, 5, 7, 9, 1, 16, 2 ) -> 34510
= (3, 5, 7, 10, 1, 16, 2 ) -> 36482
= (3, 5, 7, 9, 1, 16, 19) -> 53244
= (3, 5, 7, 9, 1, 16, 2 ) -> 35496
와 는 식의 값이 같지만 변수에 배정한 값이 다르므로 서로 다른 방법으로 센다.