7030 : 행렬 곱셈
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 1
•통과: 1
•만든사람: suakii
문제 설명
$N \times M$ 크기의 행렬 $A$와 $M \times K$ 크기의 행렬 $B$가 주어집니다.
두 행렬의 곱 $A \times B$를 계산하여 출력하는 프로그램을 작성하십시오.
곱해진 행렬 $C = A \times B$의 각 원소 $C[i][j]$는 다음과 같이 계산됩니다.
$C[i][j] = \sum_{p=0}^{M-1} A[i][p] \times B[p][j]$
[제약 조건]
• 행렬 크기 $N, M, K$: $1 \le N, M, K \le 100$
• 각 원소의 절댓값: $\le 100$
두 행렬의 곱 $A \times B$를 계산하여 출력하는 프로그램을 작성하십시오.
곱해진 행렬 $C = A \times B$의 각 원소 $C[i][j]$는 다음과 같이 계산됩니다.
$C[i][j] = \sum_{p=0}^{M-1} A[i][p] \times B[p][j]$
[제약 조건]
• 행렬 크기 $N, M, K$: $1 \le N, M, K \le 100$
• 각 원소의 절댓값: $\le 100$
입력 설명
첫째 줄에 행렬 $A$의 행 크기 $N$, 공통 크기 $M$, 행렬 $B$의 열 크기 $K$가 공백으로 구분되어 주어집니다. ($1 \le N, M, K \le 100$)
둘째 줄부터 $N$개의 줄에 걸쳐 $M$개씩의 정수가 공백으로 구분되어 행렬 $A$의 원소로 주어집니다.
그 다음 줄부터 $M$개의 줄에 걸쳐 $K$개씩의 정수가 공백으로 구분되어 행렬 $B$의 원소로 주어집니다.
각 원소 정수의 절댓값은 $100$ 이하입니다.
둘째 줄부터 $N$개의 줄에 걸쳐 $M$개씩의 정수가 공백으로 구분되어 행렬 $A$의 원소로 주어집니다.
그 다음 줄부터 $M$개의 줄에 걸쳐 $K$개씩의 정수가 공백으로 구분되어 행렬 $B$의 원소로 주어집니다.
각 원소 정수의 절댓값은 $100$ 이하입니다.
출력 설명
계산된 $N \times K$ 크기의 곱행렬을 $N$개의 줄에 걸쳐 각 행의 원소들을 공백으로 구분하여 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
2 3 2
1 2 3
4 5 6
7 8
9 10
11 12
출력 예시
COPY
복사되었습니다!
복사되었습니다!
58 64
139 154
도움
3중 반복문을 사용하여
C[i][j] += A[i][p] * B[p][j]를 연산합니다. $N, M, K \le 100$이므로 연산 횟수는 최대 $10^6$번으로 시간 내에 여유롭게 수행됩니다.