蓝桥杯vip测试题系统试题-算法提高 矩阵转置

简介: 蓝桥杯vip测试题系统试题-算法提高 矩阵转置

【问题描述】

给定一个n×m矩阵相乘,求它的转置。其中1≤n≤20,1≤m≤20,矩阵中的每个元素都在整数类型(4字节)的表示范围内。

【输入格式】

第一行两个整数n和m;

第二行起,每行m个整数,共n行,表示n×m的矩阵。数据之间都用一个空格分隔。

【输出格式】

共m行,每行n个整数,数据间用一个空格分隔,表示转置后的矩阵。

样例输入

2 4
34 76 -54 7
-4 5 23 9

样例输出

34 -4
76 5
-54 23
7 9

思路图

提交测试情况

提交代码

import java.util.*;
public class Main {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        int n = sc.nextInt();//n行
        int m = sc.nextInt();//m列
        int [][] number = new int[n][m];//存放输入的矩阵
        int [][] zhuanzhi = new int[m][n];//存放转置后的矩阵
        for (int i = 0; i < n ; i++) {
            for (int j = 0; j < m; j++) {
                number[i][j] = sc.nextInt();
            }
        }
        for(int x=0;x<n;x++){
            for(int y=0;y<m;y++){
                zhuanzhi[y][x] = number[x][y];
            }
        }
        for(int x=0;x<m;x++){
            for(int y=0;y<n;y++){
                System.out.print(zhuanzhi[x][y]+" ");
            }
            System.out.println();
        }
    }
}

带注释的测试代码

package 蓝桥杯;
import java.util.*;
public class Main {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
//        int n = sc.nextInt();//n行
//        int m = sc.nextInt();//m列
        int n = 2;
        int m = 4;
//        int [][] number = new int[n][m];//存放输入的矩阵
        int [][] zhuanzhi = new int[m][n];//存放转置后的矩阵
        int [][] number = {{34,76,-54,7},{-4,5,23,9}};
//        for (int i = 0; i < n ; i++) {
//            for (int j = 0; j < m; j++) {
//                number[i][j] = sc.nextInt();
//            }
//        }
//        int[][] arr = { {1,2,3},
//                        {4,5,6},
//                        {7,8,9}};
//        for(int x=0;x<number.length;x++){
//            for(int y=0;y<number[x].length;y++){
//                System.out.print(number[x][y]+" ");
//            }
//            System.out.println();
//        }
        for(int x=0;x<n;x++){
            for(int y=0;y<m;y++){
                zhuanzhi[y][x] = number[x][y];
//                System.out.println(number[x][y]+" ");
            }
//            System.out.println("---");
        }
        for(int x=0;x<m;x++){
            for(int y=0;y<n;y++){
                System.out.print(zhuanzhi[x][y]+" ");
            }
            System.out.println();
        }
    }
}
/*
34 76 -54 7
-4 5 23 9
 */


目录
相关文章
|
9月前
|
机器学习/深度学习 算法 C++
【DFS/回溯算法】2016年蓝桥杯真题之路径之谜详解
题目要求根据城堡北墙和西墙箭靶上的箭数,推断骑士从西北角到东南角的唯一路径。每步移动时向正北和正西各射一箭,同一格不重复经过。通过DFS回溯模拟“拔箭”过程,验证路径合法性。已知箭数约束路径唯一,最终按编号输出行走顺序。
|
算法 测试技术 C++
【动态规划算法】蓝桥杯填充问题(C/C++)
【动态规划算法】蓝桥杯填充问题(C/C++)
|
存储 机器学习/深度学习 算法
第十五届蓝桥杯pb组国赛E题[马与象] (15分)BFS算法 详解
第十五届蓝桥杯pb组国赛E题[马与象] (15分)BFS算法 详解
532 3
|
算法 搜索推荐 Java
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
792 6
|
算法 Java C++
【潜意识Java】蓝桥杯算法有关的动态规划求解背包问题
本文介绍了经典的0/1背包问题及其动态规划解法。
581 5
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
960 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
272 4
|
存储 算法
动态规划算法学习一:DP的重要知识点、矩阵连乘算法
这篇文章是关于动态规划算法中矩阵连乘问题的详解,包括问题描述、最优子结构、重叠子问题、递归方法、备忘录方法和动态规划算法设计的步骤。
1715 1