题目解析
将两个矩阵进行乘法运算
解题思路
矩阵乘法…
代码
import java.io.*;
import java.math.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws IOException
{
int Ra = ini(), Ca = ini();
int A[][] = new int[Ra + 10][Ca + 10];
for (int i = 1; i <= Ra; i++)
{
for (int j = 1; j <= Ca; j++)
A[i][j] = ini();
}
int Rb = ini(), Cb = ini();
int B[][] = new int[Rb + 10][Cb + 10];
for (int i = 1; i <= Rb; i++)
{
for (int j = 1; j <= Cb; j++)
B[i][j] = ini();
}
if (Ca != Rb)
out.printf("Error: %d != %d", Ca, Rb);
else
{
int C[][] = new int[Ra + 10][Cb + 10];
for (int i = 1; i <= Ra; i++)
{
for (int j = 1; j <= Cb; j++)
{
for (int k = 1; k <= Ca; k++)
C[i][j] += A[i][k] * B[k][j];
}
}
out.println(Ra + " " + Cb);
for (int i = 1; i <= Ra; i++)
{
for (int j = 1; j <= Cb; j++)
{
if (j != 1)
out.print(" ");
out.print(C[i][j]);
}
out.println();
}
}
out.flush();
out.close();
}
static StreamTokenizer sc = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
static PrintWriter out = new PrintWriter(System.out);
static int ini() throws IOException
{
sc.nextToken();
return (int) sc.nval;
}
}