반응형
문제 출처 :
https://www.acmicpc.net/problem/2740
알고리즘 분석 :
문제 해결에 필요한 사항
1. 행렬 곱셈
쉽지만, 행렬의 곱셈 기본 방식을 익혀두고, 추후에 Matrix 문제를 풀기 위해 기록해 두려한다.
행렬의 곱셈은 3중 포문으로 해결이 가능하다.
참고로,
n*m행렬과 t*k행렬이 주어진다면 이 행렬이 곱해지기 위한 전제 조건은 m == t여야하고,
최종적으로 나타나는 행렬은 n*k이다.
소스 코드 :
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 | #include <iostream> #include <cstdio> using namespace std; int a[102][102], b[102][102], c[102][102]; int main() { int n1, m1; scanf("%d %d", &n1, &m1); for (int i = 0; i < n1; i++) for (int j = 0; j < m1; j++) scanf("%d", &a[i][j]); int n2, m2; scanf("%d %d", &n2, &m2); for (int i = 0; i < n2; i++) for (int j = 0; j < m2; j++) scanf("%d", &b[i][j]); int cnt = 0; for (int i = 0; i < n1; i++) for (int j = 0; j < m2; j++) for (int m = 0; m < n2; m++) c[i][j] += a[i][m] * b[m][j]; for (int i = 0; i < n1; i++) { for (int j = 0; j < m2; j++) printf("%d ", c[i][j]); printf("\n"); } return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[11003번] 최소값 찾기 (0) | 2017.04.17 |
---|---|
[1966번] 프린터 큐 (0) | 2017.04.17 |
[14492번] 부울행렬의 부울곱 (0) | 2017.04.17 |
[1560번] 비숍 (0) | 2017.04.16 |
[2570번] 비숍2 (0) | 2017.04.16 |