首页 > 试题广场 >

矩阵元素相乘

[编程题]矩阵元素相乘
  • 热度指数:7992 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
A[n,m]是一个n行m列的矩阵,a[i,j]表示A的第i行j列的元素,定义x[i,j]为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积,即x[i,j]=a[i,1]*a[i,2]*...*a[i,j-1]*...*a[i,m]*a[1,j]*a[2,j]...*a[i-1,j]*a[i+1,j]...*a[n,j],现输入非负整形的矩阵A[n,m],求MAX(x[i,j]),即所有的x[i,j]中的最大值。

输入描述:
第一行两个整数n和m。之后n行输入矩阵,均为非负整数。


输出描述:
一行输出答案。
示例1

输入

3 5
5 1 8 5 2
1 3 10 3 3
7 8 5 5 16

输出

358400
头像 野蛮的河老师在干饭
发表于 2023-03-12 10:40:52
import java.util.Scanner; import java.math.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { 展开全文
头像 时间丶旅行
发表于 2023-03-16 22:31:46
先把横列每个乘积算出(不含零)然后是纵列最后计算即是 横列*纵列/当前数/当前数含零时只有当前数为0其他不为零才计算 import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { pu 展开全文
头像 牛客216353250号
发表于 2023-09-25 10:47:52
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () = 展开全文
头像 bandiaoz
发表于 2024-12-29 00:56:06
解题思路 给定一个 的矩阵 ,对于矩阵中的每个元素 ,计算除了第 行第 列之外所有元素的乘积,并找出所有这些乘积中的最大值。 解题步骤: 读取矩阵大小 和 ,以及矩阵元素 对每个位置 ,计算除了第 行第 列外其他元素的乘积 维护并更新最大乘积值 输出最终结果 代码 #include 展开全文
头像 贪吃的迪恩顶呱呱
发表于 2024-05-05 16:01:56
主要考察预处理、对0的处理使用行、列数组事先计算各行各列的乘积使用标记数组标记好各行各列是否有0 #include <iostream> #include <vector> using namespace std; int main() { int n, m; 展开全文