사용자 도구

사이트 도구


ps:problems:boj:2740

행렬 곱셈

ps
링크acmicpc.net/…
출처BOJ
문제 번호2740
문제명행렬 곱셈
레벨브론즈 1
분류

기초

시간복잡도O(nmk)
인풋사이즈n<=100, m<=100, k<=100
사용한 언어Python
제출기록29452KB / 136ms
최고기록116ms
해결날짜2021/07/08

풀이

  • 그냥 기초적인 행렬 곱셈 문제.
  • 이론적으로는 슈트라센 알고리즘등을 사용하면 좀더 시간복잡도를 줄일수 있지만 (O(n^3)을 O(n^2.8)정도로..), n이 100정도의 범위에서는 별 의미가 없을 듯 해서 그냥 단순한 방법으로 구현.

코드

"""Solution code for "BOJ 2740. 행렬 곱셈".

- Problem link: https://www.acmicpc.net/problem/2740
- Solution link: http://www.teferi.net/ps/problems/boj/2740
"""


def main():
    N, M = [int(x) for x in input().split()]
    A = [[int(x) for x in input().split()] for _ in range(N)]
    M, K = [int(x) for x in input().split()]
    B = [[int(x) for x in input().split()] for _ in range(M)]

    for a_row in A:
        print(*(sum(a * b for a, b in zip(a_row, b_col)) for b_col in zip(*B)))


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
F Q C M R
 
ps/problems/boj/2740.txt · 마지막으로 수정됨: 2021/07/08 15:40 저자 teferi