• 算法提高 矩阵相乘


    /*
    算法提高 矩阵相乘
    
    问题描述
      小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容。
      当然,小明上课打瞌睡也没问题,但线性代数的习题可是很可怕的。
      小明希望你来帮他完成这个任务。
    
      现在给你一个ai行aj列的矩阵和一个bi行bj列的矩阵,
      要你求出他们相乘的积(当然也是矩阵)。
      (输入数据保证aj=bi,不需要判断)
    输入格式
      输入文件共有ai+bi+2行,并且输入的所有数为整数(long long范围内)。
      第1行:ai 和 aj
      第2~ai+2行:矩阵a的所有元素
      第ai+3行:bi 和 bj
      第ai+3~ai+bi+3行:矩阵b的所有元素
    输出格式
      输出矩阵a和矩阵b的积(矩阵c)
      (ai行bj列)
    样例输入
    2 2
    12 23
    45 56
    2 2
    78 89
    45 56
    样例输出
    1971 2356
    6030 7141
    
    */
    
    import java.util.Scanner;
    
    public class Main {
        public static void main(String args[]) {
            Scanner sc = new Scanner(System.in);
            int ai = sc.nextInt(), aj = sc.nextInt();
            int a[][] = new int[ai][aj];
            for (int i = 0; i < ai; i++) {
                for (int j = 0; j < aj; j++) {
                    a[i][j] = sc.nextInt();
                }
            }
            int bi = sc.nextInt(), bj = sc.nextInt();
            int b[][] = new int[bi][bj];
            for (int i = 0; i < bi; i++) {
                for (int j = 0; j < bj; j++) {
                    b[i][j] = sc.nextInt();
                }
            }
    
            show(cccc(a, b));
        }
    
        public static void show(int a[][]) {
            for (int i = 0; i < a.length; i++) {
                for (int j = 0; j < a[i].length; j++) {
                    System.out.print(a[i][j] + " ");
                }
                System.out.print("
    ");
            }
        }
    
        public static int[][] cccc(int a[][], int b[][]) {
            int c[][] = new int[a.length][b[0].length];
            for (int ci = 0; ci < c.length; ci++) {
    
                for (int cj = 0; cj < c[0].length; cj++) {
                    int t = 0;
                    for (int k = 0; k < a[0].length; k++) {
                        t = t + a[ci][k] * b[k][cj];
                    }
                    c[ci][cj] = t;
                }
            }
            return c;
        }
    }
  • 相关阅读:
    制作openresty的docker镜像 + nginx笔记 调试rewrite和location Nginx 学习笔记
    C# winform在WebBrowser下获取完整的Cookies(包括含HTTPOnly属性的)
    vscode代码切换大小写的教程
    C#中的Guid
    .NET Framework 版本和依赖关系
    将 Excel 数据导入 SQL Server数据库
    sqlserver各版本的介绍对比
    使用 Visual Studio Code 创建并运行 Transact SQL 脚本
    SQL转Linq工具的使用——Linqer 4.6
    对象之间的映射(AutoMapper集成)
  • 原文地址:https://www.cnblogs.com/Alpharun/p/8624052.html
Copyright © 2020-2023  润新知