이진 수열 0으로 만들기
시간 제한1초메모리 제한256 MB
주어진 이진 수열을 정확히 K번 뒤집어 모두 0으로 만드는 순서 있는 선택 경우의 수를 셉니다.
문제
아담은 문제 풀기를 좋아한다. 아담에게 0과 1로만 이루어진 길이 의 수열이 주어진다.
아담은 정확히 번 조작을 한다. 매 조작마다 수열의 원소를 하나 골라 그 원소를 뒤집는다. 뒤집으면 0은 1이 되고 1은 0이 된다. 번을 모두 마쳤을 때 수열의 원소가 전부 0이어야 한다.
아담은 이 문제를 쉽게 풀지만, 방법이 몇 가지나 되는지 궁금해졌다. 조건을 만족하는 방법의 수를 로 나눈 나머지를 구하라.
어떤 에 대해 번째 조작에서 고른 원소가 서로 다르면, 두 방법은 다른 방법으로 센다.
입력
첫째 줄에 테스트 케이스의 개수 ()가 주어진다. 이어서 테스트 케이스가 개 주어진다.
각 테스트 케이스의 첫째 줄에는 수열의 길이 ()과 조작 횟수 ()가 공백으로 구분되어 주어진다. 다음 개 줄에는 수열의 원소가 한 줄에 하나씩, 수열의 순서대로 0 또는 1로 주어진다.
출력
각 테스트 케이스마다 한 줄에 Case #X: Y 형식으로 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 조건을 만족하는 방법의 수를 로 나눈 나머지다.