백준 2740번 : 행렬 곱셈 / C++
2023. 3. 6. 20:49ㆍ개인공부/코딩테스트
행렬의 곱셈에 대해서 처음으로 공부를 하였다. 행렬의 곱셈방법은 아직은 많이 어색하다. 그리고 행렬의 곱셈의 의미를 모르므로 차근차근 공부해야겠다.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#include <iostream>
using namespace std;
int main()
{
cin.tie(NULL);
std::cout.tie(NULL);
ios::sync_with_stdio(false);
int N, M, K;
cin >> N >> M;
// A 행렬
int* A = new int[N * M];
for (int row = 0; row < N; ++row)
for (int col = 0; col < M; ++col)
{
cin >> A[row * M + col];
}
// B 행렬
cin >> M >> K;
int* B = new int[M * K];
for (int row = 0; row < M; ++row)
for (int col = 0; col < K; ++col)
cin >> B[row * K + col];
// AB->C 행렬
int* C = new int[N * K];
for (int row = 0; row < N; ++row)
{
for (int col = 0; col < K; ++col)
{
C[row * K + col] = 0;
for (int i = 0; i < M; ++i)
{
C[row * K + col] += A[row * M + i] * B[i * K + col];
}
cout << C[row * K + col] << ' ';
}
cout << '\n';
}
return 0;
}
|
cs |
'개인공부 > 코딩테스트' 카테고리의 다른 글
백준 11444번: 피보나치 수 6 / C++ (0) | 2023.03.07 |
---|---|
백준 10830번 : 행렬 제곱 / C++ (0) | 2023.03.06 |
백준 25682: 체스판 다시 칠하기 2 / C++ (0) | 2023.03.05 |
백준 25206번 : 너의 평점은 / C++ (0) | 2023.03.04 |
백준 24313번 : 알고리즘 수업-점근적 표기 1 / C++ (0) | 2023.03.04 |