알고리즘/BOJ

백준 2740번 행렬 곱셈

꾸준함. 2019. 1. 3. 20:21

문제 링크입니다: https://www.acmicpc.net/problem/2740


간단한 행렬 곱셈 문제였습니다.

스트라센 알고리즘을 이용하면 O(N^log7)에 풀 수 있겠지만 간단하게 O(N^3)에 풀었습니다.


#include <iostream>

using namespace std;

 

const int MAX = 100;

 

int arr[MAX][MAX], arr2[MAX][MAX];

int result[MAX][MAX];

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        int N, M, K;

        cin >> N >> M;

        for (int i = 0; i < N; i++)

                 for (int j = 0; j < M; j++)

                         cin >> arr[i][j];

 

        cin >> M >> K;

        for (int i = 0; i < M; i++)

                 for (int j = 0; j < K; j++)

                         cin >> arr2[i][j];

 

        for (int i = 0; i < N; i++)

                 for (int j = 0; j < K; j++)

                         for (int k = 0; k < M; k++)

                                 result[i][j] += (arr[i][k] * arr2[k][j]);

 

        for (int i = 0; i < N; i++)

        {

                 for (int j = 0; j < K; j++)

                         cout << result[i][j] << " ";

                 cout << "\n";

        }

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 2268번 수들의 합  (0) 2019.01.03
백준 2588번 곱셈  (0) 2019.01.03
백준 1072번 게임  (0) 2019.01.03
백준 1431번 시리얼 번호  (0) 2019.01.03
백준 11944번 NN  (0) 2018.12.30