```python def find_saddle_points(matrix): # 存储每行的最小值及其所在列索引 row_min = [None] * len(matrix) # 存储每列的最大值及其所在行索引 col_max = [None] * len(matrix[0]) # 找到每行的最小值和其所在列索引 for i in range(len(matrix)): min_val = matrix[i][0] min_col = 0 for j in range(len(matrix[i])): if matrix[i][j] < min_val: min_val = matrix[i][j] min_col = j row_min[i] = (min_val, min_col) # 找到每列的最大值和其所在行索引 for j in range(len(matrix[0])): max_val = matrix[0][j] max_row = 0 for i in range(len(matrix)): if matrix[i][j] > max_val: max_val = matrix[i][j] max_row = i col_max[j] = (max_val, max_row) # 找出马鞍点 saddle_points = [] for i in range(len(matrix)): min_val, min_col = row_min[i] max_val, max_row = col_max[min_col] if min_val == max_val and i == max_row: saddle_points.append(min_val) # 输出结果 if saddle_points: for point in saddle_points: print("%4d" % point, end=" ") else: print("no") # 读取输入 m, n = map(int, input().split()) matrix = [] for _ in range(m): row = list(map(int, input().split())) matrix.append(row) find_saddle_points(matrix) """ 额外注意的地方: 1. 输入数据的合法性检查,比如输入的矩阵元素是否都是整数。 2. 处理矩阵的边界情况,例如只有一行或一列的矩阵。 3. 考虑优化算法的时间和空间复杂度,提高程序的性能。 """ ``` [2024-12-20 11:28:07 | AI写代码神器 | 493点数解答]