# 13297 - Learning Matrix
## Brief
In this problem, given 2 matrix, A[N, M] and B[M, N]. You are asked to calculate C = (A x B)T (the transpoed matrix of A multiplies B).
## Input
There are three parts of the input:
(1)1<=N<=2100
(2)1<=M<=2100
(3)A[N,M] and B[M,N] separated by a newline charcter. -100<=The values in the matrix<=100.
## Output
C = (A x B)T (the transpoed matrix of A multiplies B).
Note that you have to print whitespaces between each elements and a newline character in the end of each rows.
## Solution
```c=
//by 景璞
#include<stdio.h>
int mat1[2101][2101];
int mat2[2101][2101];
int mat3[2101][2101]={0};
int main()
{
int N,M;
scanf("%d%d",&N, &M);
for(int i=0; i<N; i++)
for(int j=0; j<M; j++)
scanf("%d", &mat1[i][j]);
for(int i=0; i<M; i++)
for(int j=0; j<N; j++)
scanf("%d", &mat2[i][j]);
for (int i=0; i<N; i++)
for(int j=0; j<N; j++)
for(int k=0; k<M; k++)
mat3[j][i] += mat1[i][k] * mat2[k][j];
for(int i=0; i<N; i++)
{
for(int j=0; j<N-1; j++)
printf("%d ", mat3[i][j]);
printf("%d\n", mat3[i][N-1]);
}
return 0;
}
```