-풀이.
이 문제는 그냥 행렬 곱셈 연산을 통해서 풀었다.
딱히 행렬 곱셈의 연산만 알고 있다면 다른 풀이는 필요없을것같다.
소스코드.
import sys
def matrix_multiple(N, K):
global matrix1, matrix2, result_matrix
for i in range(N):
for j in range(K):
result_matrix[i][j] = multiple(i, j)
# 행렬 곱 연산
def multiple(x, y):
result = 0
mat2 = [mat[y] for mat in matrix2]
for i, j in zip(matrix1[x], mat2):
result += i*j
return result
N, M = map(int, sys.stdin.readline().split())
matrix1 = []
matrix2 = []
for i in range(N):
m = list(map(int, sys.stdin.readline().split()))
matrix1.append(m)
M, K = map(int, sys.stdin.readline().split())
result_matrix = [[0 for i in range(K)] for j in range(N)]
for i in range(M):
m = list(map(int, sys.stdin.readline().split()))
matrix2.append(m)
matrix_multiple(N, K)
for i in result_matrix:
for j in i:
print(j, end=' ')
print()
'프로그래밍 > 백준' 카테고리의 다른 글
백준 11050 이항 계수1 - 파이썬 (0) | 2021.07.12 |
---|---|
백준 2579 계단 오르기 - 파이썬 (0) | 2021.07.12 |
백준 1629 곱셈 - 파이썬 (0) | 2021.07.12 |
백준 1780 종이의 개수 - 파이썬 (0) | 2021.07.12 |
백준 1992 쿼드트리 - 파이썬 (0) | 2021.07.12 |