알고리즘(python)/기본

[Python]분할정복 백준 2740

개발일기 2020. 1. 28. 18:57
반응형

 문제

 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


반응형