#include int main() { int n, m, i, j; // 读取二维数组的行数和列数 scanf("%d %d", &n, &m); int arr[n][m]; // 读取二维数组的元素 for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { scanf("%d", &arr[i][j]); } } // 查找每行的最大值和最大值所在的列 int row_max[n]; int row_max_col[n]; for (i = 0; i < n; i++) { row_max[i] = arr[i][0]; row_max_col[i] = 0; for (j = 1; j < m; j++) { if (arr[i][j] > row_max[i]) { row_max[i] = arr[i][j]; row_max_col[i] = j; } } } // 查找每列的最大值 int col_max[m]; for (j = 0; j < m; j++) { col_max[j] = arr[0][j]; for (i = 1; i < n; i++) { if (arr[i][j] > col_max[j]) { col_max[j] = arr[i][j]; } } } // 查找最大点 for (i = 0; i < n; i++) { int max_val = row_max[i]; int col_idx = row_max_col[i]; if (max_val == col_max[col_idx]) { printf("%d %d %d\n", max_val, i + 1, col_idx + 1); } } return 0; }