【ACM】蛇形填数

ACM-蛇形填数 这是第一篇在csdn发的博客,也顺便记录一下自己在acm刷题之旅,也记一下这个时刻思路,解法不一定是最优,可以参描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n<=100)输出输出结果是蛇形方陈。样例输入3样例输出7 8 1 6 9 2 5 4 3来源h... 阅读详情

【题目描述】 在n*n的方阵里填入 1,2,3,... , n*n,要求填成蛇形。例如,n = 4 时方阵为:

10

11121
916132
815143
7654

上面方阵中,多余空格只是为了便于观察,不必严格输出。n≤8.
分析:

类比数学中用到的矩阵,可以用一个二维数组来储存题目中的方阵。只需声明一个

“ int a【maxn】【maxn】”,就可以获得一个大小为maxn*maxn的方阵。

在声明时,二维的大小不必相等,因此同样也可声明“ int a【30】【50】”这样的数组,第一维下标的范围是 0,1,2,3.....,29,第二维的下标是 0,1,2,3....,49.

从1开始依次填写。设“笔”的坐标为(x,y),则一开始  x = 0;y = n-1,即第0行 最后一列(n-1列)。“笔”的行动轨迹是:下 下 下 左 左 左 上 上 上 右 右 下 下 左 上 。总之,先往下走 ,走到不能再走了,然后往左走,往左走到不能再走了 再往上走,”不能再走“: 再走就出界了,或者再走就走到之前填写过的地儿了。(比如 4--->5  4填写完了 下边儿没地儿了 ,5只能写到左边儿)

把数组中的所有数据全部初始化为0,就能很方便的判断这个位置是不是被填写过。

#include<stdio.h>
#include<string.h>
#define  maxn 20
int a[maxn][maxn];
int main(){
	int n,x,y,tot=0;
	scanf("%d",&n);
	memset(a,0,sizeof(a));//把数组a所有数据全部写为0;
	tot = a[x=0][y=n-1] = 1;
	while(tot < n*n)
	
	{
		while(x+1<n && ! a[x+1][y]  )
		    a[++x][y] = ++tot;
		    while(y-1>=0 && !a[x][y-1])
		       a[x][--y] = ++tot;
		       while(x-1>0 && !a[x-1][y])
		         a[--x][y ] = ++tot;
		         while(y+1<n && !a[x][y+1])
		           a[x][++y] = ++tot;
	} 
	for(x=0;x<n;x++)
	{
		for(y=0;y<n;y++)
		  printf("%3d",a[x][y]);
		  printf("\n");
	}
	return 0;
}

[2020 python 蓝桥杯刷题] 高中数学基础知识 蓝桥杯第1-8届试题 2020年蓝桥杯试题 立即下载

相关推荐

从DBC到ARXML:详解DaVinci Configurator中通信栈的自动化配置逻辑

本文深入解析了Vector公司DaVinci Configurator工具如何将DBC文件自动转换为符合AUTOSAR标准的ARXML配置,详细介绍了从DBC到ARXML的映射逻辑、自动化配置的边界与陷阱,以及工程实践中的优化策略。帮助工程师高效配置汽车电子系统中的通信协议,提升项目开发效率。

weixin_30279671的博客 717

1030.例3:蛇形矩阵2a(课程ZA)

1030.例3:蛇形矩阵2a(课程ZA) 题目描述 如果把数1,2,3,4,5,…,按照“蛇形2”放入N*N矩阵的左三角形中,然后有M个询问,每个询问为: 请计算第x行第y列的数是什么? 下面是N=6的蛇形2的图示 QQ图片20190701184547.png 输入格式 第一行2个正整数:N,M,范围在[1,100000]。 下面有M行,每行2个整数,范围在[1,N]。 输出格式 M行,第i行是第i个询问的结果。如果相应坐标格子里没有填数字,输出0。 输入/输出例子1 输入: 3 4 1 1 2

lunjianbin123的博客 549

《哥谭神话-工程篇》02.Palantir的Ontology层(语义层) -企业操作系统的大脑

Ontology(语义层) 是Foundry 的核心层。Ontology 位于集成到 Foundry 中的数字资产(数据集和模型)之上,并将其连接到现实世界的对应物,从工厂、设备和产品等物理资产到客户订单或金融交易等概念。本篇将详细拆解Ontology(语义层)。

880

1028.练习3:蛇形矩阵2(课程ZA)

1028.练习3:蛇形矩阵2(课程ZA) 题目描述 把数1,2,3,4,5,…,按照“蛇形2”放入N*N矩阵的左三角形中,输出结果。 下面是N=6的蛇形2的图示 QQ图片20190701184244.png 输入格式 第一行1个正整数:N,范围在[1,100]。 输出格式 N行,第i行有i个整数。 输入/输出例子1 输入: 3 输出: 1 3 2 4 5 6

lunjianbin123的博客 543

【SigmaStar SSC335系列】空片用Flash_Tool烧写

简介 本文主要讲新拿到的PCBA,板上spi nand flash还是空的,如何在这种情况下烧录固件,这里讲解用官方Flash_Tool烧写的方式。 但只讲一些注意的地方和坑,其它的官方文档里说的比较清楚,不多说。 准备 Flash_Tool烧写软件 编译打包好烧写镜像 串口烧录小板 ----- 这个是个坑,在官方文档里并没有提及,刚开始用的平时调试的USB转串口,怎么都没反应,一度不知烧写软件不对还是硬件有问题,最后通过厂家技术支持才得知,除了专门的Flash_Tool外,还要专门的串口烧录器

老K 4696

EMC案例:解决千兆网口RTL8211F EMI问题

摘要:本文分析了Amlogic S812平台OEM项目中RTL8211F-CG千兆网卡EMI辐射超标问题。发现百兆测试时25MHz时钟有3dB余量,但千兆125MHz时钟导致超标。问题根源包括:未关闭PHY芯片悬空CLKOUT引脚、TX/RXCLK端RC位置错误、包地不完整及参考地缺失。解决方案涉及软件关闭无用时钟、优化RC布局、加强包地与打孔、调整共模电感位置,并在HDMI 3.3V加磁珠。关键结论指出千兆网125MHz时钟需严格包地打孔,且RC取值需平衡EMI与通信性能。

电子绿洲的博客 1278

python 蛇形填数【蓝桥杯】

容易看出矩阵第二行第二列中的数是 55。请你计算矩阵中第 2020 行第 2020 列的数是多少?如下图所示,小明用从 11 开始的正整数“蛇形”填充无限大的矩阵。第二中比较抽象(我想到的,但是花的时间比较长了)建议先做题前先把行号表上,第一种比较好想。第一种比较简单(但是我没想到)

qq_52469201的博客 878

YOLOv13必学核心:SKAttention选择性核注意力机制原理 + 实战全拆解

SKAttention的核心思想来源于人类视觉系统的一个重要特性:根据不同的视觉刺激,人眼能够自适应地调整感受野大小。SKAttention将这一生物学原理转化为深度学习中的注意力机制,通过动态选择和融合不同大小的卷积核,实现了自适应的多尺度特征提取。在人类视觉皮层中,不同的神经元具有不同大小的感受野,而且这些感受野的大小会根据视觉刺激的类型动态调整。本文将深入解析SKAttention模块的设计原理、数学基础、实现细节,以及其在YOLOv13目标检测框架中的集成应用,为读者提供全面而深入的技术理解。

FJN110的博客 96

蛇形矩阵2a(课程ZA)

030.例3:蛇形矩阵2a(课程ZA) 题目描述 如果把数1,2,3,4,5,…,按照“蛇形2”放入N*N矩阵的左三角形中,然后有M个询问,每个询问为: 请计算第x行第y列的数是什么? 下面是N=6的蛇形2的图示

lunjianbin123的博客 236

基于深度学习的X光安检危险品检测系统(YOLOv8 + UI界面 + 数据集)

随着全球安全形势的变化,机场、车站、地铁等场所的安检工作日益重要。X光安检系统已经成为现代公共安全领域中不可或缺的部分,能够有效地检测物品的内部结构,识别潜在的危险品。然而,传统的X光图像分析方法仍然依赖人工操作,检测效率较低,并且易受到人为因素的影响。近年来,深度学习技术的应用在图像分析领域取得了显著的突破,特别是在目标检测任务中,YOLO(You Only Look Once)模型因其高效性和精度,成为了许多目标检测任务的首选模型。

YOLO 1060

使用 Simulink + Simscape Electrical 对 级联H桥多电平整流器并网功率分配 进行建模与仿真

摘要:本文详细介绍了基于Simulink对级联H桥(CHB)多电平整流器并网功率分配进行建模的方法。内容包括系统组成、功率分配意义、Simulink建模流程、PWM控制策略实现、功率分配算法设计以及仿真分析。重点阐述了主电路搭建、双环控制结构(外环功率分配+内环电流控制)和载波层叠PWM调制技术,并提供了功率分配算法示例。通过优化参数和控制算法,可提升系统性能。该建模方法为电力电子变换器和新能源并网系统研究提供了有效工具。

amy_mhd的博客 251

蛇形填数(1183)

Accepted 在n*m的方阵里填入1,2,3,...,要求添成蛇形。其中m,n 1-2-3-4       | 0-1-2 5 |     | 9-8-7-6 填数方向为左下右上。且填数为从0~9循环,即是9过了又是0 Description 多组数据,两个整数n,m(0 < n,m < 11)n为排数,m为列数.

fengyue0110的博客 386

基于STM32+华为云设计的智能鱼缸

本项目基于STM32单片机设计一款基于物联网的智能鱼缸系统,并通过应用侧接口开发上位机APP实现远程对鱼缸参数的检测和控制。该系统包括水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能,可以帮助用户更好地管理鱼缸,提高鱼儿的生存率,同时增强用户对家庭装饰品的掌控感和科技感。

1万+

南阳理工acm33蛇形填数

蛇形填数 http://acm.nyist.net/JudgeOnline/problem.php?pid=33 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4输入直接输入方陈的维数,即n的值。(n&lt...

weixin_30902251的博客 150

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

acm蛇形填数

描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入直接输入方陈的维数,即n的值。(n 输出输出结果是蛇形方陈。 样例输入 3 样例输出 7 8 1 6 9 2 5 4 3 思路:         若输入3,则矩阵最大数为3*3

cyh 6442

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

acm-蛇形填数

蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入 直接输入方陈的维数,即n的值。(n 输出 输出结果是蛇形方陈。 样例输入 3 样例输出 7 8 1 6 9

zzyy17的专栏 533

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

acm 蛇形填数

蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 输入 直接输入方陈的维数,即n的值。(n&lt;=100) 输出 输出结果是蛇形方陈。 样例输入 3 样例输出 7 8 1 6 9 2 5 4 3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 ...

chen1042246612的博客 233

ACM蛇形填数

  蛇形填数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1  9  16 13 2  8  15 14 3  7   6   5  4 输入 直接输入方陈的维数,即n的值。(n&lt;=100) 输出 输出结果是蛇形方陈。 样例输入 3 样例输出...

qq_39212193的博客 283

ACM练习 蛇形填数

#include<bits/stdc++.h> #define N 25 using namespace std; int main() { int T; cin>>T; while(T--){ int n; cin>>n; int a[N][N]; int num=1; ...

我的技术栈碎碎念空间 357

Acm 33 蛇形填数

蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入直接输入方陈的维数,即n的值。(n 输出输出结果是蛇形方陈。 样例输入 3 样例输出 7 8 1

Acey的博客 516

Acm 蛇形填数

#include int main(){ int snake[100][100]; int number; scanf("%d",&number); int number1=number+1; int upright=0,downleft=0; int one=1; int spot=1; int i,j; while (spot<number*number+1){ i=number1; j=

Wolf_xujie的博客 407

ACM在线测试题C++实现蛇形填数

蛇形填数 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入 直接输入方陈的维数,即n的值。(n&lt;=100) 输出 输出结果是...

Julie_baist的博客 565

蛇形填数问题(ACM入门)

#include #include #define maxn 20 int a[maxn][maxn]; //蛇形填数 int main() {     int n, x, y, tot=0;     scanf("%d", &n);     memset(a, 0, sizeof(a));     tot=a[x=0][y=n-1]=1;     while(tot   

SHIHAO0711的博客 707
上一篇: 开灯问题
下一篇: 遇到的报错python篇
叫我Python小朋友
博客等级 码龄6年 128粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值