一个n*m的矩阵,求其中不同行并且不同列的两个数的最大乘积。 n,m<1000
import java.util.Scanner;
/**
* @ author: Jeremy
* @ date : 2020/8/15 18:55
* TODO
*/
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] A = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
A[i][j] = sc.nextInt();
}
}
int max = -1;
for(int i1 = 0; i1 < n; i1++){
for(int j1 = 0; j1 < m; j1++){
int ele1 = A[i1][j1];
for(int i2 = 0; i2 < n; i2++){
for(int j2 = 0; j2 < m; j2++){
//每行只能有一个数
if(i1 == i2){
continue;
}
//每列只能有一个数
if(j1 == j2){
continue;
}
int ele2 = A[i2][j2];
int res = ele1 * ele2;
if(i1 == 0 && j1 == 0 && i2 == 1 && j2 == 1){
max = res;
continue;
}
if(res > max){
max = res;
}
}
}
}
}
System.out.println(max);
}
}