P5731 【深基5.习6】蛇形方阵

简介: P5731 【深基5.习6】蛇形方阵

题目描述

给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。

从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。

输入

4

输出

1  2  3  4
 12 13 14  5
 11 16 15  6
 10  9  8  7

参考代码

#include<bits/stdc++.h>
using namespace std;
int n,x=1,y=0,k=1,arr[15][15];
int main()
{
  cin>>n;
  while(k <= n*n){
    while((y+1)<=n && !arr[x][y+1])//没有越界和没有填数,向右 
      arr[x][++y] = k++;
    while((x+1)<=n&&!arr[x+1][y]){//向下 
      arr[++x][y]=k++; 
    } 
    while((y-1)>=1&&!arr[x][y-1]){
      arr[x][--y] = k++;
    }
    while((x-1)>=1&&!arr[x-1][y]){
      arr[--x][y] = k++;
    }
  }
  for(int i = 1; i <= n; i++){
    for(int j = 1; j<=n ; j++){
      printf("%3d",arr[i][j]); 
    }
    cout<<endl;
  }
  return 0;
}
相关文章
|
5月前
递推7-2 sdut-C语言实验-养兔子分数
递推7-2 sdut-C语言实验-养兔子分数
23 0
|
7月前
考研高数之无穷级数题型三:将函数展开成幂级数和傅里叶级数(题目讲解)
考研高数之无穷级数题型三:将函数展开成幂级数和傅里叶级数(题目讲解)
124 0
|
数据采集 算法 数据挖掘
【每周一坑】螺旋矩阵
今天这题,看起来挺简单,实际写出来并不容易。在以前公司我曾把它做过招聘的笔试题,结果惨不忍睹,不得不拿掉。
【每周一坑】螺旋矩阵
|
机器学习/深度学习
洛谷p1101 单词方阵
洛谷p1101 单词方阵
77 0
7-293 鸡兔同笼
7-293 鸡兔同笼
90 0
P5708 【深基2.习2】三角形面积
P5708 【深基2.习2】三角形面积
123 0
|
机器学习/深度学习 算法 C++
C/C++实现蛇形矩阵
给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。
C/C++实现蛇形矩阵