蛇行矩阵 蛇形填数 回形取数 蛇行系类(C语言详解+图解)

您所在的位置:网站首页 python蛇形矩阵输出 蛇行矩阵 蛇形填数 回形取数 蛇行系类(C语言详解+图解)

蛇行矩阵 蛇形填数 回形取数 蛇行系类(C语言详解+图解)

2024-04-13 08:16| 来源: 网络整理| 查看: 265

本贴 包括,蛇行矩阵  蛇形填数  回形取数  等 蛇行系类(C语言详解)

                                         问题 1097: 蛇行矩阵 时间限制: 1Sec 内存限制: 64MB 提交: 1979 解决: 1164 题目描述 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个正整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。 样例输入 5 样例输出 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 提示 无 来源 无

思路:观察即可  这类题 主要是找规律 找找关联如图a 观察 可得 每一组斜线数据 从起点到终点 都是从小到大排列 因此我们只需要让上一个终点可以到下一个起点,就可以了,怎么找 加上坐标如图b 再看 所有的起点和终点关于 对角线对称所有的终点之间就差一个单位 (就是说 上一个终点(x,y) 和下一个终点(x,y++)差一个单位  y ++ 即可,而起点 和终点 关于对角线对称  所以终点(x,y) 他对应的起点则是(y,x))。这样 就让上一个终点通过关系 到下一个起点了。

当然 方法很多 ,这只是个人理解。

                                图a                                                                                         图b

下面是实现代码:

#include int main() { int n; while(~scanf("%d", &n)){ int a[110][110]={0};//初始化 int i=1,tn=n,x=0,y=0; // i代表 需要填的数值 tn循环的次数 x,y 起点坐标 while(tn--){ while(x>=0&&y


【本文地址】


今日新闻


推荐新闻


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