P5731 蛇形方阵
P5731 【深基5.习6】蛇形方阵 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
//为什么用动态二维数组 --->To play to user's input, but it's alright without using dynamical array as long as you don't initiate all of them as zero.
//动态二维数组怎么用(申明、删除) ---> To be formulated in a new essay, sooner or later.
#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 蛇形方阵的更多相关文章
- 梦工厂实验室 蛇形填数 dfs
问题 D: 蛇形填数 时间限制: 3 Sec 内存限制: 64 MB提交: 28 解决: 5[提交][状态][讨论版] 题目描述 在n*n方阵里填入1,2,...,n*n,要求填成蛇形.例如n=4 ...
- C语言程序设计100例之(28):直线蛇形阵
例28 直线蛇形阵 问题描述 编写程序,将自然数1.2.….N2按蛇形方式逐个顺序存入N阶方阵.例如,当N=3和N=4时的直线蛇形阵如下图1所示. 图1 直线蛇形阵 输入格式 一个正整 ...
- 【LGR-(-8)】洛谷入门赛 #5 题解
比赛链接 9道题. 注:题目名称中链接为题目链接,题号中链接为比赛内链接 题目编号 洛谷题号 题目名称 题目难度 A P5713 [深基3.例5]洛谷团队系统 \(\color{red}{入门}\) ...
- Second_week_mofangzhen
第二周 奇数阶魔方阵 一.上节回顾 1.数组的基本操作 数组:若干个相同类型变量的集合. 声明:数据类型 数组名称[]; (在栈内存分配空间,存储的是数组的引用地址.数组首元素在堆内存 中的地址) 初 ...
- Openjudge-NOI题库-蛇形填充数组
题目描述 Description 用数字1,2,3,4,...,n*n这n2个数蛇形填充规模为n*n的方阵. 蛇形填充方法为: 对于每一条左下-右上的斜线,从左上到右下依次编号1,2,...,2n-1 ...
- <蛇形填数>--算法竞赛 入门经典(第2版)- 3.1 数组 程序3-3 蛇形填数
蛇形填数: 在n×n方阵里填入1,2,....,n×n,要求填成蛇形.例如,n = 4 时方阵为: 10 11 12 1 9 16 13 2 8 15 14 3 7 ...
- C/C++語言 - 日常算法 - 蛇形填數
C/C++語言 - 日常算法 - 蛇形填數 日期 : 2019-06-11 問題描述: 在n×n方阵里填入1,2,…,n×n,要求填成蛇形. 例如,n=4时方阵为: 10 11 12 1 9 ...
- 【OI】蛇形填数题的深入探究
题目:在 n×n 方阵里填入 1,2,...n×n, 要求蛇形填数.例如,n=4 时方阵为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 ...
- js实现蛇形矩阵
参加腾讯前端实习生笔试,真的是被虐了千百遍,除了一条js程序题,其他半点前端都没有,都是考算法,计算机原理,数据结构.下面贴上腾讯笔试最后三大条中的一条,实现一个蛇形矩阵的输出.蛇形矩阵的什么样这里我 ...
- 【面试】输出"蛇形"矩阵
一.题目描述 腾讯实习在线笔试的一道题目. 根据输入的数字(< 1000),输出这样的"蛇形"矩阵,如下.输入n,输出(n * n)阶矩阵,满足由外到内依次增大. 如: 输入 ...
随机推荐
- JZOJ 7339.改试卷
\(\text{Solution}\) 又忘了线段树分治!! 显然维护一个上凸包 发现加点和删点可以变成限制存在时间 然后把点放在线段树上,线段树下标表示时间 加点时先把点按横坐标排序,然后就可以单调 ...
- Iceberg 数据治理及查询加速实践
数据治理 Flink 实时写入 Iceberg 带来的问题 在实时数据源源不断经过 Flink 写入的 Iceberg 的过程中,Flink 通过定时的 Checkpoint 提交 snapshot ...
- postgresql 数据库 INSERT 或 UPDATE 大量数据时速度慢的原因分析
前言 最近这段时间一直使用pg 数据库插入更新大量的数据,发现pg数据库有时候插入数据非常慢,这里我对此问题作出分析,找到一部分原因,和解决办法. 一 死元祖过多 提起pg数据库,由于他的构造,就不得 ...
- Java 反射概念的引入
反射是什么 学Java的人都知道类概念,反射技术就是一种控制类的技术,JAVA程序在运行时,通过反射这个技术,能动态的获取到类实例的信息.创建实体类.操作实体类. 反射的功能列表: 获取任意类的名称. ...
- mkdir 08 权限居然和mkdir 07不同
在用fileZilla软件往Ubuntu传输文件时,提示没有权限,当时就蒙了,往文件夹复制内容怎么还扯到权限了?ls -l一看,mkdir 08 权限居然和mkdir 07不同,记录下来. 原因:在嵌 ...
- 01-搭建小巧完善的Kubernetes环境
安装Docker Docker安装和基础命令 安装Minikube minkkube start 安装minikube curl -LO https://storage.googleapis.com/ ...
- Bug Bash测试
愿望 养成参加 Bug Bash 的习惯,就像养成到点就吃饭一样的习惯. 一.Bug Bash 名词解释 A Bug Bash is a collaborative effort across o ...
- N63050 第三周运维作业
五.文本处理工具和正则表达式1.基本正则表达式(53分钟)2.基本正则表达式和扩展正则表达式(50分钟)3.文本处理三剑客之grep(43分钟)4.shell脚本编程基础知识(14分钟)5.shell ...
- VUE学习-渲染函数
渲染函数 x-template 引入外面组件文件写法 <template> <h1 v-if="level === 1"> <slot>< ...
- VIT论文笔记
VIT An image is worth 16x16 words: transformers for image recognition at scale 将transformer首次应用在视觉任务 ...