当前位置: 首页 > news >正文

第十一届蓝桥杯 2020 C/C++组 蛇形填数

目录

题目:

题目描述:

题目链接:

思路:

思路详解:

代码:

代码详解:


题目:

题目描述:

题目链接:

蛇形填数 - 蓝桥云课

思路:

思路详解:

看图找规律,容易发现,数字按照:向右一步->向左下直到边界->向下一步->向右上直到边界。用二维数组表示点的坐标,用i表示第i行,用j表示第j列。走一步的直接写即可(i++表示向下一步,j++表示向右一步),走到边界的用while加上判断边界的条件即可

注意判断边界还存在规律,草稿纸找到的规律:找第n行n列,i,j需要遍历到2*n-1,找a[20][20]即找第20行20列,i,j需要遍历到39,如果i,j设的数<39输出结果为0,草稿纸如下图所示:

代码:

代码详解:

#include<bits/stdc++.h>  //填空题,答案是761 
using namespace std;     //容易发现,数字按照:向右一步->向左下直到边界->向下一步->向右上直到边界 //走一步的直接写即可,走到边界的用while加上判断边界的条件即可 
int a[1000][1000];       //多开一点,防止数组越界 int main()
{a[1][1]=1;int temp=1;for(int i=1,j=1;i<=40&&j<=40;) //由草稿纸找到的规律:找第n行n列,i,j需要遍历到2*n-1,找a[20][20] {                              //即找第20行20列,i,j需要遍历到39,如果i,j设的数<39输出结果为0 j++;          //表示向右一步 temp++;a[i][j]=temp;while(j!=1)   //向左下直到边界,边界的条件就是走到第一列,即j==1 {i++;j--;temp++;a[i][j]=temp;}i++;          //表示向下一步 temp++;a[i][j]=temp;while(i!=1)   //向右上直到边界,边界的条件就是走到第一行,即i==1 {i--;j++;temp++;a[i][j]=temp;}}cout<<a[20][20]<<endl;return 0;
}

相关文章:

  • 第15章 Python数据类型详解之分解理解:基础数据类型常见易错点和性能优化篇
  • 【WPS】怎么解决“word的复制表格”粘贴到“excel的单元格”变多行单元格的问题
  • 浅谈 - GPTQ为啥按列量化
  • JavaSE基础概述--Lambda表达式,方法引用,基础算法,异常以及序列化
  • pywinauto通过图片定位怎么更加精准的识别图片?
  • 关于tftpboot的用法
  • 计算机中的逻辑运算
  • 关于串口读写NAND闪存的用法
  • 多线程系列五:面试中常考的单例模式
  • SQL 与 Python:日期维度表创建的不同选择
  • LINUX——例行性工作
  • LeetCode 220 存在重复元素 III 题解
  • 高铁座位指示灯系统技术深度解析:从物联网到智慧出行的实践路径
  • [论文阅读]Deep Cross Network for Ad Click Predictions
  • 机器学习例题——预测facebook签到位置(K近邻算法)和葡萄酒质量预测(线性回归)
  • 多模态训练与微调
  • TypeScript简介
  • MPay码支付系统第四方聚合收款码多款支付插件个人免签支付源码TP8框架全开源
  • MD2card + Deepseek 王炸组合 一键制作小红书知识卡片
  • Qwen3与Deepseek R1对比(截止20250506)
  • 最新研究:基因编辑治疗晚期胃肠道癌显成效
  • 印巴冲突升级,巴防长称已击落5架印度战机
  • 关税风暴下,3G资本拟94亿美元私有化美国鞋履巨头斯凯奇,溢价30%
  • 胖东来关闭官网内容清空?工作人员:后台维护升级
  • 马克思主义理论研究教学名师系列访谈|石书臣:思政课是落实立德树人的关键
  • “95后”楼威任浙江师范大学教授,研究方向为医学人工智能