鬼吹灯之黄皮子坟(螺旋矩阵)

         Time Limit: 1000 msMemory Limit: 65536 KiBSubmitStatisticProblem DescriptionbLue 有一个长度为 n*n 的序列,现在他想把这个序列填到一个 n*n 的螺旋矩阵中,你能帮助他吗?Input输入数据有多组(数据组数不超过 20),到 EOF 结束。

对于每组数据:

第 1 行输入 1 个奇数 n (1 <= n <= 9, n%2 = 1)
第 2 行输入 n*n 个用空格隔开的整数(范围 [0, 100]),表示初始序列Output对于每组数据,输出一个 n*n 的矩阵,同一行内相邻整数之间用一个 '\t' 隔开。每组数据结尾额外输出一行空行。Sample Input3

1 2 3 4 5 6 7 8 9
5
5 3 2 4 8 7 1 6 9 10 11 12 13 14 15 16 17 18 19 20 21 25 27 29 33

         Sample Output7  8   9

6 1 2
5 4 3

21 25 27 29 33
20 1 6 9 10
19 7 5 3 11
18 8 4 2 12
17 16 15 14 13

         Hint仔细观察示例,填螺旋矩阵时,初始位置为矩阵中心,按照向右、向下、向左、向上的顺序,把序列中的数从内到外一圈一圈填入矩阵中即可。
#include <stdio.h>int n, b[9][9], a[81], cnt;void Fill(int x, int y)
{if(x>=0 && x<n && y>=0 && y<n){b[x][y] = a[cnt++];}
}void f(int l, int r, int u, int d)
{if(l >= -1){for(int i=l+1; i<=r; ++i){Fill(u, i);//右;}for(int i=u+1; i<=d; ++i){Fill(i, r);//下;}for(int i=r-1; i>=l; --i){Fill(d, i);//左;}for(int i=d-1; i>=u; --i){Fill(i, l);//上;}f(l-1, r+1, u-1, d+1);}
}int main()
{while(~ scanf("%d", &n)){for(int i=0; i<n*n; ++i){scanf("%d", &a[i]);}cnt = 0;f(n/2-1, n/2+1, n/2, n/2+1);for(int i=0; i<n; ++i){for(int j=0; j<n; ++j){if(j) printf("\t");printf("%d", b[i][j]);}printf("\n");}printf("\n");}return 0;
}
#include <stdio.h>
#include <string.h>
int i, a[125], p[12][12];
void Creat(int n,int left,int right)
{int k;if(left==right){p[left][right]=a[++i];}else{for(k=left;k<=right;k++){p[k][right]=a[++i];}for(k=right-1;k>=left-1;k--){p[right][k]=a[++i];}for(k=right-1;k>=left-1;k--){p[k][left-1]=a[++i];}for(k=left;k<=right;k++){p[left-1][k]=a[++i];}}if(left==right)  {Creat(n,left,right+1);}else if(right<n)  {Creat(n,left-1,right+1);  }
}
int main()
{int n;while(scanf("%d",&n)!=EOF){memset(a,0,sizeof(a));memset(p,0,sizeof(p));for(i=1;i<=n*n;i++){scanf("%d",&a[i]);}i=0;int j;Creat(n,n/2+1,n/2+1);for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(j==n){printf("%d\n",p[i][j]);}else{printf("%d\t",p[i][j]);}}}printf("\n");}return 0;
}

3877——鬼吹灯之黄皮子坟(螺旋矩阵)相关推荐

  1. 用python做算法_自己用python写的螺旋矩阵生成算法

    自己用python写的螺旋矩阵生成算法 如果输入6,可以生成如下矩阵: 1 20 19 18 17 16 2 21 32 31 30 15 3 22 33 36 29 14 4 23 34 35 28 ...

  2. LeetCode实战:螺旋矩阵 II

    题目英文 Given a positive integer n, generate a square matrix filled with elements from 1 to n^2 in spir ...

  3. 1050. 螺旋矩阵(25)

    本题要求将给定的N个正整数按非递增的顺序,填入"螺旋矩阵".所谓"螺旋矩阵",是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条 ...

  4. java55矩阵output_leetcode 59 螺旋矩阵2 Java 用时较短-Go语言中文社区

    题目: 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, ...

  5. LeetCode 59 Spiral Matrix II(螺旋矩阵II)(Array)

    版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/5214 ...

  6. LeetCode Spiral Matrix II (生成螺旋矩阵)

     Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. F ...

  7. leetcode算法题--螺旋矩阵 II

    原题链接:https://leetcode-cn.com/problems/spiral-matrix-ii/ 相关题目:螺旋矩阵 vector<vector<int>> ge ...

  8. Python实现打印螺旋矩阵功能的方法

    Python实现打印螺旋矩阵功能的方法 本文实例讲述了Python实现打印螺旋矩阵功能的方法.分享给大家供大家参考,具体如下: 一.问题描述 输入N, 打印 N*N 螺旋矩阵 比如 N = 3,打印: ...

  9. LeetCode-数组-54. 螺旋矩阵

    54. 螺旋矩阵 解题思路: 这里的方法不需要记录已经走过的路径,所以执行用时和内存消耗都相对较小 首先设定上下左右边界 其次向右移动到最右,此时第一行因为已经使用过了,可以将其从图中删去,体现在代码 ...

最新文章

  1. 09CSS元素显示模式
  2. 精度,精确率,召回率_了解并记住精度和召回率
  3. 二叉树题目----4 前序遍历重构二叉树 AND 求二叉树中所有结点的个数
  4. java xms xmx 默认值_JVM启动参数-Xmx的默认值是多少?
  5. SQLAlchemy Mapping Class Inheritance Hierarchies
  6. dalvik on J2EE: running tomcat on dalvik
  7. tsql 正则_sql里的正则表达式
  8. 抽象高于实现 ——unity框架提取
  9. 第十三次CCF CSP认证(2018年3月)真题跳一跳
  10. ArcGIS学习总结(18)——面要素/矢量拆分
  11. django中url 和 path 的区别
  12. 没有发现必备补丁文件‘NewopUI.pak’?
  13. 数学基础修炼手册-数学分析-凸优化
  14. android 手势密码存储,Android 简易手势密码开源库详解
  15. 申请ARM DS-5单月试用版并安装
  16. 每日英语:China Bridge Collapse Raises Infrastructure Concerns
  17. 二战中真实的打酱油船
  18. vulnhub靶机-DC7-Writeup
  19. O2OA二次开发(一)前后端源码打包部署命令
  20. 关于成功人士成功秘诀的乱弹琴

热门文章

  1. Mac说——关闭SIP
  2. 「newbee-mall新蜂商城开源啦」 页面优化,最新版 wangEditor 富文本编辑器整合案例...
  3. Prometheus 监控系统
  4. python把视频切成2秒_python进行视频切割
  5. wlan从入门到精通第六期STA接入过程
  6. 女生回你微信忽快忽慢,掌握这5个技巧和3个开场白,让她秒回你
  7. Unity在OpenGL模式下Shader编译报错
  8. 联想电脑充不进去电,电量一直为0,插充电器才可以开机问题
  9. Android蜘蛛网评分
  10. m4b格式 android,新星安卓手机格式转换器