문제 설명

모든 수가 0 또는 1로 이루어진 2차원 배열 a가 주어집니다. 다음 조건을 모두 만족하는 2차원 배열 b의 경우의 수를 (107 + 19)로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.

  • b의 모든 원소는 0 아니면 1입니다.
  • a의 행/열의 개수와 b의 행/열의 개수가 같습니다. (= a와 b의 크기가 같습니다.)
  • i = 1, 2, ..., (a의 열의 개수)에 대해서 a의 i번째 열과 b의 i번째 열에 들어 있는 1의 개수가 같습니다.
  • b의 각 행에 들어 있는 1의 개수가 짝수입니다. (0도 짝수입니다.)

제한 사항
  • a의 행의 개수는 1 이상 300 이하입니다.
    • a의 각 행의 길이는 1 이상 300 이하로 모두 동일합니다.

입출력 예
a result
[[0,1,0],[1,1,1],[1,1,0],[0,1,1]] 6
[[1,0,0],[1,0,0]] 0
[[1,0,0,1,1],[0,0,0,0,0],[1,1,0,0,0],[0,0,0,0,1]] 72

입출력 예 설명

입출력 예 #1

  • 주어진 a는 다음 표와 같은 4행 3열의 배열입니다.
a 1열 2열 3열
1행 0 1 0
2행 1 1 1
3행 1 1 0
4행 0 1 1
  • 주어진 조건을 만족하는 2차원 배열 b는 다음과 같이 총 6개입니다.
b 1열 2열 3열
1행 1 1 0
2행 1 1 0
3행 0 1 1
4행 0 1 1
b 1열 2열 3열
1행 1 1 0
2행 0 1 1
3행 1 1 0
4행 0 1 1
b 1열 2열 3열
1행 1 1 0
2행 0 1 1
3행 0 1 1
4행 1 1 0
b 1열 2열 3열
1행 0 1 1
2행 1 1 0
3행 1 1 0
4행 0 1 1
b 1열 2열 3열
1행 0 1 1
2행 1 1 0
3행 0 1 1
4행 1 1 0
b 1열 2열 3열
1행 0 1 1
2행 0 1 1
3행 1 1 0
4행 1 1 0

입출력 예 #2

  • 주어진 a는 다음 표와 같은 2행 3열의 배열입니다.
a 1열 2열 3열
1행 1 0 0
2행 1 0 0
  • 주어진 조건을 만족하는 2차원 배열 b가 없으므로, 0을 return 해야 합니다.

입출력 예 #3

  • 주어진 a는 다음 표와 같은 4행 5열의 배열입니다.
a 1열 2열 3열 4열 5열
1행 1 0 0 1 1
2행 0 0 0 0 0
3행 1 1 0 0 0
4행 0 0 0 0 1
  • 주어진 조건을 만족하는 2차원 배열 b는 72개이므로, 72를 return 해야 합니다.
실행 결과 실행 중지