/C05008 - Loại bỏ cột và hàng có tổng lớn nhất ra khỏi ma trận
<Problem>
https://code.ptit.edu.vn/student/question/C05008#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <math.h>
#define max(i, j) ((i > j) ? i : j)
#define min(i, j) ((i < j) ? i : j)
int main() {
int t;
scanf("%d", &t);
//t = 1;
//while (t--) {
for (int test = 1; test <= t; test++) {
int n, m;
scanf("%d %d", &n, &m);
int arr[100][100];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &arr[i][j]);
}
}
int maxOfRow = 0;
int row = 0;
for (int i = 0; i < n; i++) {
int sum = 0;
for (int j = 0; j < m; j++) {
sum += arr[i][j];
}
if (sum > maxOfRow) {
maxOfRow = sum;
row = i;
}
}
int maxOfCol = 0;
int col = 0;
for (int i = 0; i < m; i++) {
int sum = 0;
for (int j = 0; j < n; j++) {
if (j == row) continue;
sum += arr[j][i];
}
if (sum > maxOfCol) {
maxOfCol = sum;
col = i;
}
}
printf("Test %d:\n", test);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (i == row || j == col) continue;
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
return 0;
}