首页 > 其他分享 >P5731 蛇形方阵

P5731 蛇形方阵

时间:2023-02-18 13:23:46浏览次数:41  
标签:P5731 int value ++ 蛇形 include 方阵 size

P5731 【深基5.习6】蛇形方阵 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

//为什么用动态二维数组
//动态二维数组怎么用(申明、删除)
#include<iostream>
#include<cstring>
#include<iomanip>
using namespace std;
int n,x,y,value;//y横向,x纵向
int main()
{
    cin>>n;
    int **a=new int*[n];
    for (size_t i = 0; i < n; i++)
    {
        a[i]=new int[n];
        memset(a[i],0,n*sizeof(int));
    }
    x=y=0;
    value=a[0][0]=1;
    while (value<n*n)
    {
        while (y+1<n&&!a[x][y+1])//向右
        {                           //y+1<n是为了不超过边界,a[x][y+1]==0是控制及时拐弯
            a[x][++y]=++value;
        }
        while (x+1<n&&!a[x+1][y])//向下
        {
            a[++x][y]=++value;
        }
        while (y-1>=0&&!a[x][y-1])//向左
        {
            a[x][--y]=++value;
        }
        while (x-1>=0&&!a[x-1][y])//向上
        {
            a[--x][y]=++value;
        }
    }
    for (size_t i = 0; i < n; i++)
    {
        for (size_t j = 0; j < n; j++)
        {
            cout<<setw(3)<<a[i][j];
        }
        cout<<endl;
    }
    for (size_t i = 0; i < n; i++)
    {
        delete[] a[i];
    }
    delete[] a;
    
    return 0;
}

 

标签:P5731,int,value,++,蛇形,include,方阵,size
From: https://www.cnblogs.com/shinnyblue/p/17132389.html

相关文章

  • 756. 蛇形矩阵
    好久没写算法题了,先写个语法题练练手https://www.acwing.com/problem/content/description/758/#include<iostream>usingnamespacestd;constintN=105;intmap[N......
  • Jordan标准型的由来?为何n阶数字方阵都必有对应的Jordan标准型?怎么求可逆矩阵P?
    设A为复数域上的n阶方阵,即A∈Cn×n,A为:A的特征矩阵λⅠ-A为:设矩阵λⅠ-A的smith标准型为:其中d1(λ)、d2(λ)、…、dn(λ)为λⅠ-A的不变因子,则λⅠ-A≌D,D为λⅠ-A的smith......
  • 蛇形填数——蓝桥杯(简单)
    题目描述如下图所示,小明用从 11 开始的正整数“蛇形”填充无限大的矩阵。  容易看出矩阵第二行第二列中的数是 55。请你计算矩阵中第 2020 行第 2020 列的数......
  • 蛇形填数(矩阵)
    蛇形填数      在nxn方针里填入1,2,...,nxn,要求填成蛇形。例如:n=4时方阵为:10111219  161328  151437    6  54上面的方阵中,多余的空格只......
  • 蛇形矩阵
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:1 3 6 10 152 5 9 144 8 137 1211 思路:观察第一行的规律......
  • “蛇形”方阵的构造
        编写一个程序,将自然数1~n2按“蛇形”填入n×n矩阵中。例如,当n=5时,构造的方阵如下。      (1)编程思路1。    分析数的填法,是按“从右上到......
  • C语言:蛇形方阵
    题目给出一个不大于9的正整数n,输出n×n的蛇形方阵。从右上角填上1开始,逆时针方向依次填入数字,如同样例所示。注意每个数字都右对齐,中间用空格隔开。 例如:  ......
  • NYOJ 33 蛇形填数——————思维
    蛇形填数时间限制:3000ms|内存限制:65535KB难度:3描述在nn方陈里填入1,2,…,nn,要求填成蛇形。例如n=4时方陈为:10111219161328151437654输入直接输入方陈......
  • 计蒜客 | 矩阵蛇形输出
    题目:给定一个m行、n*列的矩阵,请按照下图所示的顺序输出矩阵中所有的元素(从[0][0]位置开始,具体请参见下图)。注意每次碰到边界后,必须且只能沿着边界移动一格,不能后退......