#include <iostream> #include <iomanip> // 使用 setw 控制输出宽度 using namespace std; int main() { int n; cin >> n; // 输入 n int arr[n][n]; // 定义 n 行 n 列数组 arr = 1; // 初始化第一个元素 // 根据规律填充数组 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == 0 && j > 0) { // 第一行,除了第一个元素,其余元素等于左侧元素加4 arr[i][j] = arr[i][j-1] + 4; } else if (i > 0 && j == 0) { // 第一列,除了第一个元素,其余元素等于上方元素加1 arr[i][j] = arr[i-1][j] + 1; } else if (i > 0 && j > 0) { // 其余元素等于左侧元素加4,上方元素加1,取两者中的较大值 arr[i][j] = max(arr[i-1][j] + 1, arr[i][j-1] + 4); } } } // 输出结果并控制每项长度为 5 字符 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << setw(5) << arr[i][j]; // 设置输出宽度为 5 } cout << endl; } return 0; } /************************************************************** Problem: 1404 User: zhenghaoxuan Language: C++ Result: Compile Error ****************************************************************/