[模拟] aw3663. 打印数字菱形(模拟+图形打印+曼哈顿距离+找规律)

您所在的位置:网站首页 数字1的打印体 [模拟] aw3663. 打印数字菱形(模拟+图形打印+曼哈顿距离+找规律)

[模拟] aw3663. 打印数字菱形(模拟+图形打印+曼哈顿距离+找规律)

#[模拟] aw3663. 打印数字菱形(模拟+图形打印+曼哈顿距离+找规律)| 来源: 网络整理| 查看: 265

文章目录 1. 题目来源2. 题目解析

1. 题目来源

链接:3663. 打印数字菱形

2. 题目解析

找规律的一道题。

反正我是按模拟过的,但是一定是可以找规律的。

将整个图形放到二维矩阵里面,根据所有位置到中心位置的曼哈顿距离做分类:

所有和中心点的曼哈顿距离小于等于 n 的点,都是需要填数的。且所填数值为 n 减去曼哈顿距离。所有和中心点的曼哈顿距离大于 n 的点,应该输出空格。

时间复杂度: O ( n 2 ) O(n^2) O(n2) 空间复杂度: O ( 1 ) O(1) O(1)

优雅的找规律:

// 直接按题模拟,也可找规律即 y总写法 #include using namespace std; int main() { int n; scanf("%d", &n); for (int i = 0; i int d = abs(n - i) + abs(n - j); if (d > n) cout for (int j = 2 * (n - i); j > 0; j -- ) printf(" "); for (int j = 0; j = 0; j -- ) printf("%d ", j); puts(""); } for (int i = n - 1; i >= 0; i -- ) { for (int j = 2 * (n - i); j > 0; j -- ) printf(" "); for (int j = 0; j = 0; j -- ) printf("%d ", j); puts(""); } return 0; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3