【十一届蓝桥杯C/C++ B组省赛___蛇形排列】

二维数组 之 蛇形遍历 例题 用数字1,2,3,4,...,n*n这n2个数蛇形填充规模为n*n的方阵。 蛇形填充方法为: 对于每一条左下-右上的斜线,从左上到右下依次编号1,2,...,2n-1;按编号从小到大的顺序,将数字从小到大填入各条斜线,其中编号为奇数的从左下向右上填写,编号为偶数的从右上到左下填写。 比如n=4时,方阵填充为如下形式: 1  2  6  7 3  5  8  13 4  9  12... 阅读详情

 如下图所示,小明用1开始的正整数“蛇形” 填充无限大的矩阵

容易看出矩阵第二行第二列中的数是5。请你计算矩阵中第20 行第20 列的数是多少? 


1. 我们要观察整体——这是一个矩阵带有行和列, 那我们就可以用二维数组去表示行列。

2.我们要观察数字的变化规律——(我们用二维数组就可以不用带a[0][0]从a[1][1]开始)

a[ 1 ][ 1 ]= 1,  a[ 1 ][ 2 ]= 2,  a[ 1 ][ 3 ]= 6,

a[ 2 ][ 1 ]= 3,  a[ 2 ][ 2 ]= 5,

a[ 3 ][ 1 ]= 4,

我们用x y定位数组会发现 奇数列的对角线变化是从右上到左下,偶数列的对角线是左上到右下。

带入x y 中就是奇数列x++,y--。偶数列y++,x--。

3.我们要优化细节——我们会发现每一列对角线的开头都是有规律的

偶数列是x=1,y=第几列 奇数列是y=1,x=第几行。

例子:(第二列开头是a[ 1 ][ 2 ]= 2,第三列开头是a[ 3 ][ 1 ]= 4,)

第二列对角线是2 3,第三列对角线是4 5 6 我们会发现每一列对角线的数字个数跟那一列有关

 例子:(第二列有两个数字,第三列有三个数字)

4.都搞完了就写代码吧。哈哈

#include <iostream>
using namespace std;
int a[40][40]= {0}; //定义一个大点的免的不够
int main() {
     	int i,x=0,y=0,num=1,j;  
	for(i=1; i<40; i++) { // 从a[1][1]开始没要a[0][0] 
		if(i%2==1) {  // 判断奇数列 
			x=1;  //每当到奇数列时会发现x=1 y=i 
			y=i;
			for(j=1; j<=i; j++) {
				a[x][y]=num++;
				x++;   //奇数列左下到右上 
				y--;   //观察x与y的变化规律定位数组坐标   
			}
		} else {
			x=i;
			y=1;
			for(j=1; j<=i; j++) {
				a[x][y]=num++;
				x--;
				y++;
			}
		}
	}
 printf("%d",a[20][20]);

}//也可以把20行20列的全打印出来看看符不符合规律。记得调整黑框框的大小,让每行列都是20个数字


蓝桥杯省赛 C/C++ ABC组题解(第四届 ~ 第十二届) 第十届蓝桥杯 题号 C++ A组 C++ B组 C++ C组 试题A 平方和 组队 求和 试题B 数列求值 年号字串 矩形切割 试题C 最大降雨量 数列求值 年号字串 试题D 迷宫 数的分解 质数 试题E RSA解密 迷宫 最大降雨量 试题F 完全二叉树的权值 特别数的和 旋转 试题G 外卖店优先级 完全二叉树的权值 外卖店优先级 试题H ... 阅读详情

相关推荐

2020蓝桥杯省赛C/C++B组(第二场)真题及解析

2020蓝桥杯省赛C/C++B组(第二场)真题及解析

阿怪的博客 1万+

蛇形矩阵

给出三种不同蛇形矩阵的解法

Troubadour 9898

STM32 HAL 硬件IIC驱动BNO085:从移植到姿态解算全流程解析(附源码)

本文详细解析了STM32 HAL库下硬件IIC驱动BNO085 IMU传感器的全流程,包括CubeMX配置、驱动移植、传感器初始化、Q格式数据处理及四元数转欧拉角解算。提供了完整的源码实现和常见问题解决方案,帮助开发者快速掌握高精度姿态测量技术。

palm99的专栏 1047

蛇形矩阵(完全)

画 n阶蛇形方阵 比如如图是5阶方阵(5条对角线) 1 2 6 7 15 3 5 8 14 16 4 9 13 17 22 10 12 18 21 23 11 19 20 24 25解题思路: 1.分为上三角和下三角,上三角的思路是同(不完全)中一致这里写链接内容 注意应该判断前

PrConstantin 1万+

山东大学FPGA课程实验一 加法器设计

电子设计自动化与FPGA设计,实验一 加法器设计

2503_91283667的博客 869

CANdb++ Editor实战:5步搞定DBC文件信号布局与字节对齐(附常见错误排查)

本文详细介绍了使用CANdb++ Editor进行DBC文件信号布局与字节对齐的实战方法。通过五步法,深入解析Intel与Motorola字节序差异、跨字节信号布局规则,并借助Layout视图等工具,帮助工程师高效解决信号错位、数据解析错误等常见问题,确保CAN网络通信的准确性与可靠性。

solidity8miner的博客 695

信息学竞赛中的数学 习题集1181-1190(10题)

信息学竞赛中的数学 习题集1181-1190(10题)

青少年趣味编程 551

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

还是执行 都没有明显效果 那么,我最后是怎么解决得呢? 一、打开控制面板(任务栏搜索kzmb)

weixin_41899098的博客 6908

算法竞赛入门经典 蛇形填数

蛇形填数

hoho_12 2137

CMOS锁相环核心:四种鉴频鉴相器(PFD)结构深度剖析与选型指南

本文深入剖析了CMOS锁相环中四种鉴频鉴相器(PFD)的结构与性能,包括传统RS触发器型、非时钟型、预充电型和边沿触发型PFD。通过详细的电路分析、实测数据和工程案例,提供了PFD选型的实用指南,帮助工程师根据速度、功耗和精度需求选择最优方案,提升锁相环设计效率。

weixin_42530458的博客 588

Pspice安装教程:Windows系统完整指南(含环境变量设置)

详细讲解在Windows系统中完成Pspice安装的全过程,涵盖安装步骤与关键的环境变量设置,帮助用户顺利运行仿真工具。适合初学者快速上手pspice安装教程中的核心环节。

weixin_42230607的博客 1179

2020蓝桥杯C++B组省赛第二场个人感受和个人题解

[2020 蓝桥杯C++B组 省赛第二场 题目+自己的答案] 文章目录[*2020* *蓝桥杯*C++B组 省赛第二场 题目+自己的答案]一、试题A 门牌制作【答案】【问题描述】【答案提交】二、试题B: 既约分数【答案】【问题描述】【答案提交】三、试题C 蛇形填数s【答案】【问题描述】【答案提交】四、试题D 跑步锻炼【答案】五、试题E: 七段码【答案】【问题描述】【答案提交】六、试题F 成绩分析【思路】七、试题G 回文日期【思路】八、忘了。。【思路】九、字串分值【样例输入】【样例输出】【样例说明】【评测用例

404name的博客 5734

iqoo11如何获取root权限?

🏆本文收录于专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家!持续更新中,up!up!up!!

**My Coding Family** 5829

第十一届蓝桥杯C/C++ 大学B组省赛题目及答案解析

2020第十一届蓝桥杯C/C++ B组省赛题目及答案解析(持续更新)试题A :门牌制作 试题A :门牌制作 【问题描述】 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字 符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、 0、 1、 7,即需要 1 个 字符 0, 2 个字符 1, 1 个字符 7。 请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2? 【答

IT_fakerr的博客 1万+

车载网络测试实操源码_使用CAPL脚本进行UDS刷写及其自动化测试

本文主要讲解如何使用CAPL脚本进行UDS刷写及其自动化测试,并结合了几个测试实例进行介绍,希望对大家有所帮助。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1554

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

蓝桥杯C/C++B组历届真题刷题【合集】

历年真题,解析,练习,进阶,国赛!

violet的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

蓝桥杯省赛历年真题解2015-2022

蓝桥杯比赛中,可以使用的语言有C/C++,Java和Python。 程序的关键在于编程技巧、数据结构和算法,所以这里的题解均用C/C++语言来写。 参考这些题解很容易写出有关语言的解题程序。

海岛Blog 2608

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

蓝桥杯C++组怒刷50道真题(填空题)

蓝桥杯50道真题,备赛2032,整点标题党😋

IT OR 考公? 46万+

蓝桥杯C/C++A组省赛历年真题题解(2013~2021)

蓝桥杯C/C++A组省赛历年真题目录及题解整理

qq_59700927的博客 4万+

第11届蓝桥C/C++ 大学B组 省赛和国赛题解

目录初赛A: 门牌制作B: 既约分数C: 蛇形填数D: 跑步锻炼 初赛 A: 门牌制作 签到 答案:624 B: 既约分数 基本公式要会 typedef long long ll; ll gcd(ll a, ll b) { return b ? gcd(b, a%b) : a; } ll lcm(ll a, ll b) { return 1LL*a/gcd(a,b)*b;} 答案:2481215 C: 蛇形填数 自己推公式就好啦(最好别模拟,想想就麻烦QAQ) 答案:761 D: 跑步锻炼 答案:8879

人工智能方向,计算机视觉(https://github.com/chenshunpeng) 1068

第十一届蓝桥杯省赛c/c++大学B组 试题C 蛇形填数

试题C: 蛇形填数 (10分) 【问题描述】 如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。 1 2 6 7 15 … 3 5 8 14 … 4 9 13 … 10 12 … 11 … … 容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列 的数是多少? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 想法: 分析题目,求的为第20行第20列的数。而这个无限大的矩阵是

qq_51448950的博客 485

第十一届蓝桥杯大赛软件类省赛第二场(C/C++ 大学 B 组)

试题 A: 门牌制作 本题总分:5 分 【问题描述】 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字 符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个 字符 0,2 个字符 1,1 个字符 7。 请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整

兮于怀 1262

2020蓝桥杯C++B组省赛

A.门牌制作 思路:暴力枚举 #include<iostream> #include<algorithm> using namespace std; int main() { int j,ans=0; for(int i=1;i<=2020;i++) { j=i; while(j!=0) { if(j%10==2) ans++; j/=10; } } cout<<ans<<endl; return 0

weixin_43790882的博客 263

【2021-04】2020 蓝桥杯 A组 省赛 第二场 C++ A-H题

A 门牌制作 题目描述:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 题目地址:https://leetcode-cn.com/problems/reverse-linked-list-ii/ 我的想法:扫描一次链表,找出left对应的结点以及left前面的结点,找出right对应的结点以及right后面的结点,先翻转left到right区间的链表然后修改边界指针的指向即可。 需要注意边界条件:left是否是第一个结点以及right是否是最后一个结点,后续拼接时需要注意处理上述情况。 执行用时

weixin_43665650的博客 1980

蓝桥杯十四天冲刺班 第十四天《考场经验 | 历年考点 | 蓝桥杯押题》《C,JAVA,PY在蓝桥杯中必须要会用的容器 | 集合》(3K+字解析)

hello大家好啊,蓝桥杯还有十天不到就要开赛啦,今天蓝桥杯省赛的省赛冲刺营结课了,最后一讲学长分析了历年考点,并且进行了押题,现在我们就来看一下学长押了哪些内容吧。

兴趣使然的编程菜鸟 2639

第十一届蓝桥杯(2020)-省赛题解_C/C++__大学A组第二场

目录感悟总结一、门牌制作(填空题)二、既约分数(填空题)三、蛇形填数(填空题)四、七段码(填空题)五、平面分割六、成绩分析七、回文日期八、子串分值九、荒岛探测十、字串排序 感悟总结 本文有自己的思路,也有对网络上思路的借鉴,但不保证百分百正确,如有错误不足,希望得到您的指正! 一、门牌制作(填空题) #include<bits/stdc++.h> using namespace std; int ans=0; void f(int x) { while(x) { int a=x%10;

qq_45973802的博客 665
上一篇: 【蓝桥杯2015初赛】——星际炸弹 时间改变的框架
下一篇: 【蓝桥杯】___基础练习 十进制转十六进制
Absorbed__
博客等级 码龄5年 182粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值