홀수 부분열
시간 제한3초메모리 제한512 MB
부분수열로 고를 수 있는 서로 다른 중복집합 중 원소 합의 십진수 표현에서 홀수 자릿수(1, 3, 5, 7, 9)의 개수가 홀수인 것의 수를 센다.
문제
길이 인 음이 아닌 정수 배열 에 대해, 0개 이상의 원소를 지워서 얻을 수 있는 배열을 "부분열"이라고 한다.
배열 의 부분열 가 다음 조건을 만족하면 를 의 "홀수 부분열"이라고 정의한다.
- 의 원소의 합의 자릿수 중 홀수인 것들이 홀수이다.
음이 아닌 정수 배열 를 입력받아 의 서로 다른 홀수 부분열의 개수를 출력하시오. 단, 부분열의 원소를 정렬했을 때 그 결과가 같으면 같은 부분열로 취급한다.
인 경우 정답은 8이다.
- 길이가 0인 홀수 부분열: 없음
- 길이가 1인 홀수 부분열:
- 합이 3이고, 자릿수 중 홀수가 3으로 하나
- 길이가 2인 홀수 부분열: , ,
- 합이 각각 9, 12, 14이고, 자릿수 중 홀수가 9, 1, 1로 하나씩
- 길이가 3인 홀수 부분열: ,
- 길이가 4인 홀수 부분열: ,
- 길이가 5인 홀수 부분열: 없음
입력
첫 줄에 테스트 케이스의 수 가 주어진다 ().
각 테스트 케이스에 대해 첫 줄에 의 길이 이 주어진다. 둘째 줄에 개의 0 이상의 정수가 공백으로 구분되어 주어진다. 의 각 원소는 0 이상 2,000 이하이다.
출력
각 테스트 케이스에 대해 홀수 부분열의 수를 한 줄에 출력한다.
힌트
- 테스트 케이스 1: , , 세 종류의 홀수 부분열이 있다.
- 테스트 케이스 2: , , , , , , , 여덟 종류의 홀수 부분열이 있다.
- 테스트 케이스 3: 문제에서 서술한 대로 여덟 종류의 홀수 부분열이 있다.