螺旋矩阵

输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。

具体矩阵形式可参考样例。

输入格式

输入共一行,包含两个整数n和m。

输出格式

输出满足要求的矩阵。

矩阵占n行,每行包含m个空格隔开的整数。

数据范围

1≤n,m≤100

输入样例:

3 3

输出样例:

1 2 3
8 9 4
7 6 5

定义四个方向向右 x不变 y+1向下 x+1 y不变向左 x不变 y-1向上 x-1 y不变

撞墙的条件 1 走出边界      2 走到已经被占用的格子d=(d+1) mod 4

#include <iostream>
#include <algorithm>using namespace std;const int N = 110;int n, m;
int res[N][N];
bool st[N][N];int main()
{cin >> n >> m;int dx[] = {0, 1, 0, -1}, dy[] = {1, 0, -1, 0};int x = 0, y = 0, d = 0;for (int i = 1; i <= n * m; i ++ ){int nx = x + dx[d], ny = y + dy[d];if (nx < 0 || nx >= n || ny < 0 || ny >= m || st[nx][ny]){d = (d + 1) % 4;nx = x + dx[d], ny = y + dy[d];}res[x][y] = i;st[x][y] = true;x = nx, y = ny;}for (int i = 0; i < n; i ++ ){for (int j = 0; j < m; j ++ ) cout << res[i][j] << ' ';cout << endl;}return 0;
}

转载于:https://www.cnblogs.com/kelly1895/p/10816101.html

美团笔试1--螺旋矩阵相关推荐

  1. java 外螺旋矩阵_螺旋矩阵的java实现

    今天参加了腾讯实习生的在线笔试,螺旋矩阵的问题,算是ACM的入门题吧 想到了有两种实现递归和非递归 输入:3 输出: 1  2  3 8  9  4 7  6  5 输入:5 输出: 1  2  3 ...

  2. 【面试题】网易互娱(游戏)2021校园招聘在线笔试 - 服务端开发工程师[螺旋矩阵]

    昨晚做网易互娱的笔试,比较尴尬的是只能用C/C++/Java,而本人对C/C++的了解仅限于大一的课程设计(而且一年多没用过C写代码了),Java差不多看得懂代码但是没有系统的学过.无奈最后只能用py ...

  3. 螺旋矩阵c++语言_一起刷 leetcode 之螺旋矩阵(头条和美团真题)

    微信公众号:每天晒白牙 关注可了解更多编程知识.问题或建议,请公众号留言;如果你觉得文章对你有帮助,欢迎关注与转发 题目描述 给定一个包含 m*n 个元素的矩阵(m 行,n 列),请按顺时针螺旋顺序, ...

  4. 用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 ...

  5. LeetCode实战:螺旋矩阵 II

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

  6. 1050. 螺旋矩阵(25)

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

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

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

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

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

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

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

最新文章

  1. 20100506 学习记录:grdview添加新的一行数据
  2. 浅谈ASP.net中的DataSet对象
  3. gcc for Windows 开发环境介绍
  4. Cisco配置单臂路由及静态路由
  5. [linux]Error: failure: repodata/repomd.xml from fedora: [Errno 256] No more mirrors to try.
  6. LWIP的数据包管理
  7. 工作中postgre使用过的函数。
  8. hive和mysql传输数据类型_hive的数据类型
  9. java有常函数_Java开发笔记(十一)常见的数学函数
  10. ARC项目中部分类不用ARC
  11. 纳德拉:Excel是微软的最佳象征 难以想象没有它的世界
  12. bzoj 4082: [Wf2014]Surveillance 倍增
  13. MATLAB的minmax用法
  14. 硬盘、光驱、刻录机维修技术
  15. springboot实战,实现发送邮件,gmail邮件,包括发送附件还有正文,以及注意覆盖问题
  16. maven打开edge的闪退
  17. 最新虚拟机SAP ECC6.0 EHP7带示例数据IDES版+BW740
  18. APP逆向案例之(二)对加固APP进行分析和破解
  19. 今日头条笔试之字母交换
  20. VMware vSphere的相关知识

热门文章

  1. Django REST framework 开始
  2. 378. Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
  3. 152. 乘积最大子数组
  4. 【机器视觉】 fuzzy_measure_pos算子
  5. 【机器视觉】 dev_map_prog算子
  6. 【Linux】一步一步学Linux——startx命令(199)
  7. 2007标注没有文字_应用技巧:CAD在机械工程制图中尺寸标注
  8. serverless 框架_Malaguv1.4.1支持Serverless的微服务框架
  9. windows如何调整某个应用程序的音量 c++_微软对重启Windows 10的应用程序进行控制测试...
  10. blob html 预览_本地图片预览+blob使用