python输出蛇形矩阵,c蛇形矩阵

  python输出蛇形矩阵,c蛇形矩阵

  问题描述

  给定一个m行n列的mn矩阵,程序以螺旋顺序输出矩阵中的所有元素。

  投入

  有多个矩阵。

  每个矩阵数据的第一行有两个整数M和N,后面是一个mxn矩阵的描述,有M行,每行有N个整数。

  输出

  对于每个矩阵数据,矩阵数组的元素以螺旋顺序输出。

  输入样本

  3 3

  1 2 3

  4 5 6

  7 8 9

  输出样本

  1 2 3 6 9 8 7 4 5

  思路:按照题意模拟就好。见代码,时间复杂度O(mn),每个点访问一次。

  #includebits/stdc。使用命名空间标准;const int maxn=500int a[maxn][maxn];bool vis[maxn][maxn];//标记数组int main(){ int m,n;while(CIN m n){ for(int I=0;我是m;I){ for(int j=0;j n;j){ CIN a[I][j];vis[I][j]=0;} } int x=0,y=0;printf(%d ,a[x][y]);//第一点特殊处理vis[x][y]=1;int sum=m * n,tot=1;//总点数和当前已经输出的点数while(tot sum){ while(y ^ 1n!Vis[x][y 1]){ //一条固定直线向左遍历TOT,vis[x][y]=1;printf( %d ,a[x][y]);} while(x 1 m!Vis[x 1][y]){ //固定列向下遍历TOT,vis[x][y]=1;printf( %d ,a[x][y]);} while(y - 1=0!Vis[x][y-1]){ //一条固定的直线向右遍历tot,vis[x][-y]=1;printf( %d ,a[x][y]);} while(x - 1=0!Vis[x-1][y]){ //固定列向上遍历TOT,vis[-x][y]=1;printf( %d ,a[x][y]);} } putchar( \ n );}返回0;}

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python 中文unicode编码,python输出字符的unicode
  • python 中文unicode编码,python输出字符的unicode,Unicode和Python的中文处理
  • python输出两个数之间的整数,python编写程序,要求输入两个整数,求两数之和后输出
  • 字母在python中怎么表示,用python输出字母金字塔
  • python输出n×n的方格矩阵,python 输入矩阵
  • python自动换行快捷键,python输出自动换行怎么设置
  • python求两个给定正整数的最大公约数和最小公倍数,python输出最大公约数和最小公倍数
  • 如何用python输出九九乘法表,怎么用python打印九九乘法表
  • python100以内的素数之和是多少,python输出1000以内的素数以及这些素数之和
  • python输出清屏代码,python终端清屏命令
  • python输出fibonacci数列的前30项,编程求fibonacci数列前20项
  • 输出一个n阶的方阵python,python输出1到100的奇数和偶数
  • Python输出字符串长度,python获取字符串的长度
  • python变量名在引用前必须赋值,python输出语句中引用变量
  • 用python输出1000以内所有的质数,python中输出100-200的质数
  • 留言与评论(共有 条评论)
       
    验证码: