#include <iostream> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; vector<vector<int>> grid(n, vector<int>(m)); int max_val = 0, min_val = 101; int max_row = 0, max_col = 0; int min_row = 0, min_col = 0; // 读取矩阵并记录最大最小值位置 for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cin >> grid[i][j]; if (grid[i][j] > max_val) { max_val = grid[i][j]; max_row = i; max_col = j; } if (grid[i][j] < min_val) { min_val = grid[i][j]; min_row = i; min_col = j; } } } // 交换最大值和最小值的位置 swap(grid[max_row][max_col], grid[min_row][min_col]); // 输出交换后的矩阵 for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cout << grid[i][j]; if (j < m - 1) cout << " "; } cout << endl; } return 0; } /************************************************************** Problem: 1999 User: fuyijun Language: C++ Result: Accepted Time:8 ms Memory:2076 kb ****************************************************************/