728x90
https://www.acmicpc.net/problem/2740
문제 풀이
쉬운 행렬의 곱셈을 구하는 문제이다.
느낀 점
크게 어렵진 않으나 행렬 연산을 줄이는 방법으로 '스트라센 알고리즘'이 있다. 추가적인 공부가 필요할 것 같다.
코드
#include <iostream>
using namespace std;
int n, m, k;
int m1[101][101];
int m2[101][101];
int m3[101][101];
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m;j++) {
cin >> m1[i][j];
}
}
cin >> m >> k;
for (int i = 0; i < m; i++) {
for (int j = 0; j < k;j++) {
cin >> m2[i][j];
}
}
for (int i = 0; i < n;i++) {
for (int j = 0; j < k;j++) {
for (int x = 0; x < m;x++) {
m3[i][j] += m1[i][x] * m2[x][j];
}
}
}
for (int i = 0; i < n;i++) {
for (int j = 0; j < k;j++) {
cout << m3[i][j] << " ";
}
cout << "\n";
}
}
'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[C++] 백준 10816번 : 숫자 카드 2 (0) | 2021.08.05 |
---|---|
[C++] 백준 1920번 : 수 찾기 (0) | 2021.08.03 |
[C++] 백준 11401번 : 이항 계수 3 (0) | 2021.07.30 |
[C++] 백준 2004번 : 조합 0의 개수 (0) | 2021.07.28 |
[C++] 백준 1629번 : 곱셉 (0) | 2021.07.27 |
댓글