프로그램 명: bmatrix
제한시간: 1 초
2차원의 N*M 크기의 행렬을 생각하자.
그리고 행렬에 들어가는 숫자는 0 또는 1 이 될 수 있다. (이러한 행렬을 binary matrix 라고 한다.)
예를 들어서 2*3 크기의 행렬이라면
0 0 1
1 1 1
처럼 하나의 예시를 나타낼 수 있다. 그리고 각각의 행과 열 성분에 대해서
1 의 개수를 더한 것을 생각하면 위에서의 예시로 든 행렬은
행은 [1 3] 열은 [1 1 2] 로 나타날 것이다.
그렇다면 반대로 각각의 행과 열에 대해서 1 개수의 합이 주어질 때
만들 수 있는 행렬의 개수를 구해보자.
입력
-
첫 줄에 행렬의 크기를 나타내는 N 과 M 이 주어지고,
-
두번째 줄에는 각각의 행에 대해서 1 개수의 합이 주어지고,
-
세번째 줄에는 각각의 열에 대해서 1 개수의 합이 주어진다.
출력
만들 수 있는 가능한 행렬의 총 개수를 출력하는 것이 문제이다.
행렬의 크기는 행과 열이 각각 10 이하이다.
입출력 예
입력
4 3
1 2 3 1
2 3 2
출력 예시
5
예시 설명
다음의 5가지 경우가 가능하다.
Case #1
1 0 0
0 1 1
1 1 1
0 1 0
Case #2
0 1 0
1 1 0
1 1 1
0 0 1
Case #3
0 1 0
1 0 1
1 1 1
0 1 0
Case #4
0 1 0
0 1 1
1 1 1
1 0 0
Case #5
0 0 1
1 1 0
1 1 1
0 1 0
출처: KangJ
[질/답]
[제출 현황]
[푼 후(0)]