java 蓝桥杯算法提高 矩阵乘法

时间:2023-03-09 15:03:59
java 蓝桥杯算法提高 矩阵乘法

java 蓝桥杯算法提高 矩阵乘法

思路:根据提示的内容,我们可以得到c[i][j] += a[i][k]*b[k][j],k>=0&&k<s

PS:这道题本身不难,但是当我定义A[m][s] B[s][n] c[m][n]  这样的大小时,总有几个测试数据过不去,只能得42分,后来我将三个数组大小都设定了为200*200,全部数据都通过了!

 import java.util.Scanner;
public class _86矩阵乘法 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int s = scanner.nextInt();
int n = scanner.nextInt();
int[][] a = new int[200][200];
int[][] b = new int[200][200];
for (int i = 0; i < m; i++) {
for (int j = 0; j < s; j++) {
a[i][j] = scanner.nextInt();
}
}
for (int i = 0; i < s; i++) {
for (int j = 0; j < n; j++) {
b[i][j] = scanner.nextInt();
}
}
int[][] c = new int[200][200];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
for (int j2 = 0; j2 < s; j2++) {
c[i][j] += a[i][j2]*b[j2][j];
}
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(c[i][j]+" ");
}
System.out.println();
}
}
}