문제 설명
다음과 같은 4개의 블록이 있다.
이들 중 몇 개의 블록이 선택되면, 그것들로 m*n의 격자판을 겹치지 않고 빈틈없이 채우는 가짓수를 구하는 프로그램을 작성하시오.
적어도 하나의 블록은 반드시 주어지며, 각 블록은 회전 가능하다.
입력 설명
첫 번째 줄에 m, n의 값이 공백을 사이에 두고 입력된다.
두 번째 줄에 A, B, C, D의 사용 여부를 0 또는 1로 나타내는 길이 4의 문자열이 입력된다.
입력값의 범위
1<= m, n <= 10
출력 설명
주어진 블록들로 m*n 판을 채울 수 있는 가짓수를 10억 7로 나눈 나머지를 출력한다.
주어진 블록들로 m*n 판을 채우는 것이 불가능하다면 -1을 출력한다.
입력 예시 Copy
2 2
1111
출력 예시 Copy
12