蓝桥杯刷题 Day36 倒计时26天 纯练题的一天

[蓝桥杯 2022 省 B] 积木画

题目描述

小明最近迷上了积木画,有这么两种类型的积木,分别为 I 型(大小为 2个单位面积) 和 L 型 (大小为 3 个单位面积):

同时,小明有一块面积大小为2×N 的画布,画布由2×N 个 1×1 区域构成。小明需要用以上两种积木将画布拼满,他想知道总共有多少种不同的方式? 积木可以任意旋转,且画布的方向固定。

输入格式

输入一个整数 N,表示画布大小。

输出格式

输出一个整数表示答案。由于答案可能很大,所以输出其对 10000000071000000007(即 10^9+7)取模后的值。

代码表示:

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9+7,N = 1e7;
int main()
{int f[N]={0,1,2,5};int n;scanf("%d",&n);for(int i=4;i<=n;++i)f[i] = (2*f[i-1]%mod+f[i-3]%mod)%mod;printf("%d",f[n]);return 0;
}

解析:

这是一道动态规划的题,利用递归的思想,寻找对应的等式。


[蓝桥杯 2013 省 AB] 错误票据

题目描述

某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造成了某个 ID 断号,另外一个 ID 重号。

你的任务是通过编程,找出断号的 ID 和重号的 ID。数据保证断号不可能发生在最大和最小号。

输入格式

一个整数N(N<100) 表示后面数据行数,接着读入 N 行数据,每行数据长度不等,是用空格分开的若干个(不大于 100 个)正整数(不大于 105),每个整数代表一个 ID 号。

输出格式

要求程序首先输入要求程序输出 1 行,含两个整数 m,n,用空格分隔,其中,m 表示断号 ID,n 表示重号 ID。

代码表示: 

#include <bits/stdc++.h>
using namespace std;
//l用于记录数组中的元素个数 
int a[10001],l;
int main()
{int N,m,n,i;string s;//存储每行输入的字符串 cin>>N;
//忽略掉换行符,以便后续可以使用 getline 函数读取完整的一行输入cin.ignore(numeric_limits<streamsize>::max(),'\n');for(i=1;i<=N;i++){getline(cin,s);//读取一行输入存储在字符串 s stringstream sin(s);//stringstream 可以将字符串当作流来处理便进行后续的分割while(sin>>a[++l]);// sin 中的每个整数依次读取并存储在数组 a//++l 用于递增计数器 l,确保每个整数都存储在不同的位置上}sort(a+1,a+l+1);//给出的整数可能是乱序的所以需要先排序 for(i=2;i<=l;i++)//循环遍历 if(a[i]==a[i+1]-2) m=a[i]+1;//相差为 2说明存在断号,存在变量m else if(a[i]==a[i+1]) n=a[i];//存在重号存在n cout<<m<<" "<<n;return 0;
} 

心得体会:

1、cin.ignore(numeric_limits<streamsize>::max(),'\n') 是一行代码,用于清除输入流中的换行符。cin 是 C++ 标准库中的输入流对象,ignore() 是 cin 对象的成员函数。ignore() 函数用于跳过输入流中的字符,可以指定要跳过的字符数和要跳过的特定字符。numeric_limits<streamsize>::max() 返回 streamsize 类型的最大值,表示要跳过的字符数为输入流中的最大字符数。这里使用 numeric_limits<streamsize>::max() 是为了确保跳过输入流中的所有字符。'\n' 是一个字符常量,表示换行符。ignore() 函数的第二个参数是要跳过的特定字符。

所以,cin.ignore(numeric_limits<streamsize>::max(),'\n') 的作用是跳过输入流中的所有字符,直到遇到换行符为止。这样可以确保在调用 getline() 函数之前,输入流中没有遗留的换行符影响。

2、使用 stringstream 的目的是将每行输入的字符串进行分割,提取其中的整数,并将这些整数存储到数组 a 中。这样做的好处是:

1)方便提取整数:stringstream 提供了诸如 operator>> 的操作符重载,可以方便地从流中提取数据。在这里,我们使用 sin >> a[++l] 从 sin 中提取下一个整数,并将其存储到数组 a 中。

2)处理不定数量的整数:每行输入的整数数量可能不确定,使用 stringstream 可以灵活地处理不定数量的整数,而不需要提前指定数组的大小。

3)方便类型转换:stringstream 可以自动将提取的字符串转换为相应的数据类型。在这里,我们将提取的字符串转换为整数,并将其存储到数组 a 中。


[蓝桥杯 2021 省 B2] 特殊年份

题目描述

今年是 2021 年,2021 这个数字非常特殊, 它的千位和十位相等, 个位比百位大 1,我们称满足这样条件的年份为特殊年份。

输入 5个年份,请计算这里面有多少个特殊年份。

输入格式

输入 5 行,每行一个 4 位十进制数(数值范围为1000 至 9999),表示一个年份。

输出格式

输出一个整数,表示输入的 5 个年份中有多少个特殊年份。

代码表示

#include <bits/stdc++.h>
using namespace std;int main() {int ans = 0;for (int i = 0; i < 5; i++) {string input;//char input[5];cin >> input;int a = input[0] - '0';int b = input[1] - '0';int c = input[2] - '0';int d = input[3] - '0';if (a == c && b + 1 == d)ans++;}cout << ans << endl;return 0;
}

心得体会

用字符类型的变量表示一个数字字符时实际上它们在内存中存储的是对应的ASCII码值。 '0'的ASCII码值是48当我们想将字符类型的数字转换为相应的整数时,可以通过减去字符 '0' 的ASCII码值来实现,字符类型的数字字符与对应的整数之间具有固定的差值,即字符 '0' 的ASCII码值是48,而整数 0 的值是0,它们之间相差了48。

比较char 和string:

1、字符数组:

1)使用下标操作符 []:可以通过索引访问字符数组中的每个字符。例如,charArray[0] 表示字符数组的第一个字符。

2)使用循环遍历:可以使用循环结构(如 for 循环或 while 循环)以递增索引的方式遍历字符数组,并逐个读取每个字符。

int main() {// 字符数组char charArray[] = "Hello";// 使用下标操作符读取每个字符for (int i = 0; charArray[i] != '\0'; i++) {cout << charArray[i] << " ";}cout << endl;// 使用循环遍历读取每个字符int index = 0;while (charArray[index] != '\0') {cout << charArray[index] << " ";index++;}cout << endl;}

2、字符串对象:

1)使用下标操作符 []:可以通过索引访问字符串对象中的每个字符。例如,str[0] 表示字符串对象的第一个字符。

2)使用循环遍历:可以使用范围-based for 循环或迭代器来遍历字符串对象,并逐个读取每个字符。

int main() {// 字符串对象string str = "Hello";// 使用下标操作符读取每个字符for (int i = 0; i < str.length(); i++) {cout << str[i] << " ";}cout << endl;// 使用范围-based for循环读取每个字符for (char ch : str) {cout << ch << " ";}cout << endl;// 使用迭代器读取每个字符for (string::iterator it = str.begin(); it != str.end(); ++it) {cout << *it << " ";}cout << endl;return 0;
}

[蓝桥杯 2021 省 AB2] 小平方

题目描述

小蓝发现,对于一个正整数 n 和一个小于 n 的正整数 v,将 v 平方后对 n 取余可能小于 n 的一半,也可能大于等于 n 的一半。请问,在 1 到 n−1 中, 有多少个数平方后除以 n 的余数小于 n 的一半

例如,当 n=4 时,1,2,3 的平方除以 4 的余数都小于 4的一半。

如,当 n=5 时, 1,4 的平方除以 5 的余数都是 1,小于 5 的一半。而 2,3 的平方除以 5 的余数都是 4, 大于等于 5 的一半。

输入格式

输入一行包含一个整数 n 。

输出格式

输出一个整数,表示满足条件的数的数量。

代码表示

#include <bits/stdc++.h>
using namespace std;int main() {int n,ann=0;cin>>n;for(int i=1;i<n;++i){if((i*i)%n<n*0.5) ann++;}cout<<ann;return 0;
}

[蓝桥杯 2022 省 B] 刷题统计

题目描述

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?

输入格式

输入一行包含三个整数 a,b 和 n.

输出格式

输出一个整数代表天数

代码表示

#include <bits/stdc++.h>
using namespace std;long long a,b,n; 
int main(){cin>>a>>b>>n;long long s=5*a+b*2; //一周做的题数long long s1=n%s; //还剩几题long long s2=n/s; //做了几周if(s1<=5*a){//如果工作日能完成if(s1%a==0){cout<<s1/a+s2*7;}else{cout<<s1/a+1+s2*7;}}else{ if((s1-5*a)>b){cout<<s2*7+7;}else {cout<<s2*7+6;}}return 0;
}

心得体会:

活用除号➗和取余%,整在的一个星期可以独立出来计算。

注意文章在最后提示了数据非常的大所以要用long long类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些很实用的技巧提高自动化测试覆盖率

自动化测试一直是测试人员的核心技能&#xff0c;也是测试的重要手段之一。尤其是在今年所谓的互联网寒冬的行情下&#xff0c;各大企业对测试人员的技术水平要求的很高&#xff0c;而测试人员的技术水平主要集中在三大自动化测试领域&#xff0c;再加测试辅助脚本的编写&#…

大模型知识积累——幻觉

什么是大模型幻觉 在大语言模型的文本生成场景下&#xff0c;幻觉是指一本正经的胡说八道。逻辑连贯的自然表述中&#xff0c;有理论或者事实错误&#xff0c;捏造事实等问题。 幻觉问题的危害 LLM幻觉可能产生传播错误知识的后果。对于医疗应用中结果安全和可信AI尤为重要&a…

气液分离器的概念和原理

气液分离器也叫低压储液器&#xff0c;在热泵或制冷系统中使用&#xff0c;主要是将出蒸发器、进压缩机气流中的液滴分离出来&#xff0c;防止压缩机发生液击&#xff0c;用于工质充注量较大、压缩机进气可能带液且压缩机对湿压缩较敏感的情况 。 液击主要出现在活塞式压缩机中…

PMP能两周快速通过吗?

两周时间有点赶&#xff0c;一般备考要2个月左右&#xff0c;有时间尽量多准备准备。 分享一篇左羊学霸的备考总结&#xff0c;希望能帮你 前言 作为⼀名通过PMP项⽬管理认证并且拿到3A成绩 ( PMP认证最好成绩) 的 学习者&#xff0c; 来跟⼤家分享下我考取PMP证书的动机与过程…

学会Python爬虫只需9步

爬虫是一种技术实现的功能&#xff0c;大部分编程语言都可以实现爬虫&#xff0c;但是对于初学者来说&#xff0c;想要快速学习爬虫技术&#xff0c;建议大家学习Python爬虫。Python编程语言相对于Java要更简单入门更容易&#xff0c;同时相对PHP使用范围更广泛&#xff0c;有利…

用户需求助力产品创新 4大注意事项

通过用户需求进行产品创新&#xff0c;是项目应遵循的原则&#xff0c;也是项目成功的关键因素之一。通过深入理解用户需求&#xff0c;有助于明确产品功能和定位&#xff0c;使得产品更符合用户期望。有助于树立正确的创新方向&#xff0c;推动企业的发展。如果不了解用户需求…

软件工程-第2章 软件过程

开发逻辑&#xff0c;是正确获取软件的关键。 2.1 软件生存周期过程 编程之前的工作。软件生存周期是软件产品或系统的一系列相关活动的全周期。95年发布国际标准&#xff0c;“ISO/IEC软件生存周期过程12207-1995”&#xff0c;给出了软件开发需要的任务&#xff0c;即回答了…

WIN10系统不定时蓝屏,终止代码:KERNEL_DATA_INPAGE_ERROR,且无法保存蓝屏日志解决办法

程序代码园发文地址&#xff1a;WIN10系统不定时蓝屏&#xff0c;终止代码&#xff1a;KERNEL_DATA_INPAGE_ERROR&#xff0c;且无法保存蓝屏日志解决办法-程序代码园小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,WIN10系统不定时蓝屏&#xff0c;终止代码&am…

汽车电子零部件(6):DMS/OMS、CMS

前言: 有一个部件过去不曾有,而如今有可能要标准化标配化,那就是Driver Monitoring System (DMS)驾驶员监控系统、Occupant Monitoring System (OMS)乘客监控系统和Camera Monitor System(CMS)摄像头监控系统。 汽车视觉技术的创新推动先进驾驶辅助系统的变革(ADAS),并…

2024年3月的计算机视觉论文推荐

从去年开始&#xff0c;针对LLM的研究成为了大家关注的焦点。但是其实针对于计算机视觉的研究领域也在快速的发展。每周都有计算机视觉领域的创新研究&#xff0c;包括图像识别、视觉模型优化、生成对抗网络(gan)、图像分割、视频分析等。 我们今天来总结一下2024年3月上半月份…

了解常用开发模型 -- 瀑布模型、螺旋模型、增量与迭代、敏捷开发

目录 瀑布模型 开发流程 开发特征 优缺点 适用场景 螺旋模型 开发流程 开发特征 优缺点 适用场景 增量与迭代开发 什么是增量开发&#xff1f;什么是迭代开发&#xff1f; 敏捷开发 什么是敏捷开发四原则&#xff08;敏捷宣言&#xff09;&#xff1f; 什么是 s…

从0开始写一个问卷调查APP的第11天

1.今日任务 分析:上次我们实现了从数据库中成功的查找到对应问卷的问题并在前端展示出来&#xff0c;那么今天我们增加难度。在数据库中插入多项选择问题&#xff0c;在接口中查找到并在前端显示出来。 2.实现 2.1数据库中插入测试数据 我们先查看一下表的结构 2.2接口实现…

代码随想录阅读笔记-哈希表【三数之和】

题目 给你一个包含 n 个整数的数组 nums&#xff0c;判断 nums 中是否存在三个元素 a&#xff0c;b&#xff0c;c &#xff0c;使得 a b c 0 &#xff1f;请你找出所有满足条件且不重复的三元组。 注意&#xff1a; 答案中不可以包含重复的三元组。 示例&#xff1a; 给定数…

Android和IOS应用开发-Flutter 应用中实现记录和使用全局状态的几种方法

文章目录 在Flutter中记录和使用全局状态使用 Provider步骤1步骤2步骤3 使用 BLoC步骤1步骤2步骤3 使用 GetX&#xff1a;步骤1步骤2步骤3 在Flutter中记录和使用全局状态 在 Flutter 应用中&#xff0c;您可以使用以下几种方法来实现记录和使用全局状态&#xff0c;并在整个应…

git:码云gitee仓库提交以及React项目创建

git&#xff1a;码云gitee仓库提交以及React项目创建 1 前言 先注册准备好码云gitee的账户&#xff0c;并在gitee上新建react仓库并提交代码至远程仓库。 2 操作方式 准备新建React项目并提交到码云gitee上。 &#xff08;1&#xff09;进入官网&#xff1a;https://gitee…

day-23 买卖股票的最佳时机 II

思路&#xff1a;因为要求的是最大收益&#xff0c;所以可以假设每天都买&#xff0c;第二天卖 利用一个数组来统计&#xff0c;如果收益为负则ans[i]0,否则ans[i]prices[i1]-prices[i] code: class Solution {public int maxProfit(int[] prices) {int nprices.length;int a…

数据在内存的存储

整数在内存中的存储 我们来回顾一下&#xff0c;整数在计算机是以补码的形式进行存储的&#xff0c;整数分为正整数和负整数&#xff0c;正整数的原码、反码和补码是一样的&#xff0c;负整数的原码、反码和补码略有不同&#xff08;反码是原码除符号位&#xff0c;其他位按位取…

【九】【算法分析与设计】双指针(3)

15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元…

echarts实践总结(常用一):柱状图(特点:渐变色、点击缩放、左右滑动、悬浮展示样式)

目录 第一章 echarts基本使用 第二章 echarts实践——柱状图 效果展示 第一章 echarts基本使用 Echarts常用配置项(详细入门)_echarts配置项手册-CSDN博客 第二章 echarts实践——柱状图 最近接到这么一个需求&#xff0c;需要画页面&#xff0c;然后有这么几个echarts的图需…

【网络安全】0xhacked CTF 大赛题解出炉啦!

此次 0xhacked CTF 比赛&#xff0c;ChainSecLabs 取得了第四名的成绩。让我们来看看比赛题目的题解吧。&#xff08;题目代码仓库在文末哦~&#xff09; BabyOtter 这是应该说是一个算法题&#xff0c;很明显需要溢出&#xff0c;因为精度问题&#xff0c;uint256(-1)/0x1…