输入样例1:
2 3
1 2 3
4 5 6
3 4
7 8 9 0
-1 -2 -3 -4
5 6 7 8
输出样例1:
2 4
20 22 24 16
53 58 63 28
输入样例2:
3 2
38 26
43 -5
0 17
3 2
-11 57
99 68
81 72
输出样例2:
Error: 2 != 3
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
String[] x = in.readLine().split(" ");
int[][] arr1 = Initialize(Integer.parseInt(x[0]), Integer.parseInt(x[1]));
x = in.readLine().split(" ");
int[][] arr2 = Initialize(Integer.parseInt(x[0]), Integer.parseInt(x[1]));
in.close();
if (arr1[0].length != arr2.length)
System.out.println("Error: " + arr1[0].length + " != " + arr2.length);
else {
System.out.println(arr1.length + " " + arr2[0].length);
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2[0].length; j++) {
int sum = 0;
for (int k = 0; k < arr2.length; k++) {
sum += arr1[i][k] * arr2[k][j];
}
System.out.print(sum);
if (j < arr2[0].length - 1)
System.out.print(" ");
}
System.out.println();
}
}
}
static int[][] Initialize(int m, int n) throws IOException {
int[][] arr = new int[m][n];
for (int i = 0; i < m; i++) {
String[] x = in.readLine().split(" ");
for (int j = 0; j < n; j++) {
arr[i][j] = Integer.parseInt(x[j]);
}
}
return arr;
}
}