반응형

 문제

 https://www.acmicpc.net/problem/2740


행렬의 곱셈을 구현하는 문제이다.

행렬의 인덱스를 그려놓고 구현하는게 헷갈리지 않을것이다.

행렬의 곱셈을 모른다면

 https://ko.wikipedia.org/wiki/%ED%96%89%EB%A0%AC_%EA%B3%B1%EC%85%88

를 참고하여 구현하면 될것이다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import sys
N,M=map(int,sys.stdin.readline().split())
A=[list(map(int,sys.stdin.readline().split())) for _ in range(N)]
 
Nb,Mb=map(int,sys.stdin.readline().split())
B=[list(map(int,sys.stdin.readline().split())) for _ in range(Nb)]
 
 
result=[]
tmp=0
tmp_li=[]
for i in range(N):#A에 1행부터 N행까지
    for j in range(Mb):#B에 M열 까지
        for k in range(M): #A에 열
            tmp+=A[i][k]*B[k][j]
        tmp_li.append(tmp)
        tmp=0
    result.append(tmp_li)
    tmp_li=[]
 
 
for li in result:
    for p in li:
        print(p,end=' ')
    print()
 

cs


반응형

'알고리즘(python) > 기본' 카테고리의 다른 글

[Python]분할정복 백준 2749  (0) 2020.01.29
[Python]분할정복 백준 10830  (0) 2020.01.29
[Python]분할정복 백준 1629  (0) 2020.01.26
[Python]분할정복 백준 1780  (0) 2020.01.24
[Python]분할정복 백준 1992  (0) 2020.01.23
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기