作业
#include <stdio.h>
#include <stdlib.h>
long inputData(int m,int n){
int mn = m*n;
int *a=(int *)malloc(sizeof(int)*mn);
int i,j,k;
long temp,max;
for(i=0;i<mn;i++){
scanf("%d",a+i);
}
max = 0;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
temp = 1;
for(k = 0;k<n;k++){
if(k!=j){
temp*= *(a+i*n+k);
}
}
for(k=0;k<m;k++){
if(k != i){
temp*= *(a+k*n+j);
}
}
if(temp > max){
max = temp;
}
}
}
free(a);
a=NULL;
return max;
}
int main(int argc, const char *argv[])
{
int m,n;
scanf("%d %d",&m,&n);
printf("%ld\n",inputData(m,n));
return 0;
}
result:
3 5
5 1 8 5 2
1 3 10 3 3
7 8 5 5 16
358400