반응형
문제: https://www.acmicpc.net/problem/2740
코드
#https://teching.tistory.com/
import sys
n1, m1 = map(int, sys.stdin.readline().split())
matrix1 = [list(map(int, sys.stdin.readline().split())) for _ in range(n1)]
n2, m2 = map(int, sys.stdin.readline().split())
matrix2 = [list(map(int, sys.stdin.readline().split())) for _ in range(n2)]
res = [[0]*m2 for _ in range(n1)]
for i in range(n1):
for j in range(m2):
for k in range(m1):
res[i][j] += matrix1[i][k] * matrix2[k][j]
for line in res:
print(*line)
해설
단순하게 행렬의 곱을 구현하는 문제이다.
별다른 어려울것이 없으나 행렬의 곱의 크기에 주의해야한다.
m*n 행렬과 n*p 행렬을 곱한다고 하면 결과 행렬은 m*p 행렬이 만들어진다 (n은 같아야함)
이를 토대로 행렬을 구현하면 된다.
반응형
'알고리즘 테스트 > 백준' 카테고리의 다른 글
백준 1920: 수 찾기 (파이썬) (0) | 2022.05.04 |
---|---|
백준 11444: 피보나치 수 6 (파이썬) (0) | 2022.04.06 |
백준 11401: 이항 계수 3 (파이썬) (0) | 2022.04.01 |
백준 1629: 곱셈 (파이썬) (0) | 2022.03.29 |
백준 1780 : 종이의 개수 (파이썬) (0) | 2022.03.29 |