题目链接:44. 开发商购买土地(第五期模拟笔试)
代码:
import java.util.Scanner;
/**
* ClassName:Main
* Package:com.xxliang.mytest.exer2
* Description:
*
* @author xxliang
* @version 1.0
* @create 2024/9/10 0:12
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] arr = new int[n][m];
int[] sum_line = new int[m];//列
int[] sum_row = new int[n];// 行
for(int i = 0 ;i< n;i++){
for(int j = 0 ;j<m;j++){
arr[i][j] = sc.nextInt();
sum_row[i]+=arr[i][j];
}
}
for(int i =0 ;i<m;i++){
for(int j = 0 ;j<n;j++){
sum_line[i]+=arr[j][i];
}
}
for(int i =1 ;i<n;i++){
sum_row[i]=sum_row[i-1]+sum_row[i];
}
for(int i =1 ;i<m;i++){
sum_line[i]=sum_line[i-1]+sum_line[i];
}
int res=0x3f3f3f3f;
for(int i =1 ;i<n;i++){
int min = sum_row[i-1];
int max = sum_row[n-1]-min;
res=Math.min(res,Math.abs(max-min));
}
for(int i =1 ;i<m;i++){
int min = sum_line[i-1];
int max = sum_line[m-1]-min;
res=Math.min(res,Math.abs(max-min));
}
System.out.println(res);
}
}