蓝桥杯省赛真题C++B组-裁纸刀2022

ops/2025/3/13 20:41:04/

一、题目

问题描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝有一个裁纸刀,每次可以将一张纸沿一条直线裁成两半。

小蓝用一张纸打印出两行三列共 6 个二维码,至少使用九次裁出来,下

图给出了一种裁法。

在上面的例子中,小蓝的打印机没办法打印到边缘,所以边缘至少要裁 4 次。另外,小蓝每次只能裁一张纸,不能重叠或者拼起来裁。

如果小蓝要用一张纸打印出 20 行 22 列共 440 个二维码,他至少需要裁多少次?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

二、思路

方法一:(错误不要看了)

        我的理解是一张纸只能裁剪出6个二维码,而且一张纸需要裁9次,现在有440个二维码,我们就需要看440个二维码能裁处几个整张的二维码,是否有剩下的二维码个数,有的话再看是需要裁剪几刀。440/6=73......2,最后还剩两个二维码的话,四个边需要裁四个边,还有再裁一刀分成两个二维码。73*9+4+1=662。

方法二:

        想用代码的方式解决,但是看题解后,我才发现题目中的裁剪原则:四个边四刀,因为题目说了公用了9刀,所以是用了5刀裁出的。

        题目问的是20 行 22 列共 440 个二维码,他至少需要裁多少次?图上的是2行3列6个二维码用了5刀(除过边),2行用了1刀,3列用了4刀(想想现实生活当中也是如此,假如先横着来一刀,剪开后的两半我们再分别去剪),类比,20行用了19刀,22列用20*(22-1)刀。

19+20*(22-1)+4=443

方法三:

        找规律:

二维码个数裁的次数
1

4+0

24+1
44+3
64+5
......
4404+(440-1)

三、代码

#include <iostream>
using namespace std;int main() {cout << 19 + 20 * (22 - 1) + 4 << endl;return 0;
}

四、反思

没有好好理解题,按照我那个错误的思路,6个二维码最终是裁7刀,人家题目是裁9刀

也没有好好找规律


http://www.ppmy.cn/ops/165508.html

相关文章

解锁数据结构分享图:高效知识传播的关键

解锁数据结构分享图&#xff1a;高效知识传播的关键 在信息如洪流般涌来的时代&#xff0c;数据结构作为计算机科学的核心基石&#xff0c;其复杂性与重要性不言而喻。而数据结构分享图&#xff0c;则宛如一把神奇的钥匙&#xff0c;能够高效地打开理解数据结构知识宝库的大门…

特征表示深度解析:颜色、纹理、形状与编码

第一部分&#xff1a;颜色与纹理特征&#xff08;Part 1&#xff09; 1. 颜色特征 颜色直方图&#xff08;Color Histogram&#xff09; 定义&#xff1a;统计图像中各颜色通道&#xff08;R/G/B&#xff09;的像素分布&#xff0c;形成直方图。 计算步骤&#xff1a; 将每个…

简单工厂 、工厂方法模式和抽象工厂模式

简单工厂 、工厂方法模式和抽象工厂模式 1.模式性质与定位 简单工厂:并非正式的设计模式(属编程习惯),通过单一工厂类根据参数判断创建不同产品,本质是将对象创建逻辑集中管理。 工厂方法:是标准的创建型设计模式,定义抽象创建接口,由子类决定实例化哪个具体产品类,…

多线程--参数传递之间的关系

在C中创建线程时&#xff0c;传递参数的方式会影响参数的生命周期、线程的安全性和性能。以下是几种常见的传递方式及其适用情况&#xff1a; 1. 值传递 值传递会创建参数的副本&#xff0c;并在线程函数内部使用该副本。这种方式可以避免线程之间的竞态条件&#xff0c;因为…

hive 中可能产生小文件的场景

在 Hive 中&#xff0c;小文件是指文件大小远小于 HDFS 块大小&#xff08;通常为 128 MB 或 256 MB&#xff09;的文件。小文件过多会导致 NameNode 内存压力增大、查询性能下降以及资源浪费。以下是 Hive 中可能产生小文件的常见场景&#xff1a; 1. 高频插入数据 场景描述 …

推理大模型时代,TextIn ParseX助力出版业知识资产重构

在大语言模型&#xff08;LLM&#xff09;与推理能力快速进化的技术浪潮下&#xff0c;出版机构沉淀数十年的非结构化数据资产&#xff0c;包括书籍、期刊、手稿及历史档案&#xff0c;正在焕发新的机遇。基于文档解析、NLP与大模型的推理生成能力&#xff0c;我们在图书馆层层…

MyBatis - XML 操作动态 SQL

目录 1. 前言 2. 动态插入 2.1 if 标签 2.2 trim 标签 2.2.1 注解完成动态 SQL 3. 动态查询 3.1 添加 1 1 3.2 where 标签 4. 动态更新 4.1 set 标签 5. foreach 标签 6. sql 标签 & include 标签 1. 前言 之前博文所讲的 MyBatis SQL 操作, 都必须按照注解或…

LVS + Keepalived 高可用集群

一、LVSKeepalived 原理 1.1.LVS 负载均衡原理 LVS&#xff08;Linux Virtual Server&#xff09;是一种基于 Linux 内核的负载均衡技术&#xff0c;它通过 IPVS&#xff08;IP Virtual Server&#xff09;模块来实现。LVS 可以将客户端的请求分发到多个后端服务器上&#xf…