
蓝桥杯
文章平均质量分 54
蓝桥杯
稚皓君
欢迎你的光临,随便看看就好 ^_^
展开
-
第十三届蓝桥杯省赛C++B组 真题题解(详细讲解+代码分析)看这篇就够了~~~
第十三届蓝桥杯省赛C++B组 真题题解A.九进制转十进制B.顺子日期C.刷题统计D.修剪灌木E.X 进制减法F.统计子矩阵G.积木画H.扫雷I.李白打酒加强版J.砍竹子A.九进制转十进制题目描述九进制正整数(2022)9转换成十进制等于多少?思路2 * 9^3 + 0 * 9^2 + 2 * 9^1 + 2 * 9^0=1478答案:1478B.顺子日期题目描述小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456等。顺子日期指的就是在日期的yyyymmdd表示法中,存在任意连续的三原创 2022-04-12 20:13:59 · 6100 阅读 · 35 评论 -
第十一届蓝桥杯省赛第一场C++ A/B组 真题题解(详细讲解+代码分析)看这篇就够了~~~
第十一届蓝桥杯省赛第一场C++ A/B组 真题题解整除序列解码走方格整数拼接网络分析超级胶水整除序列题目描述有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。输入格式输入一行包含一个整数 n。输出格式输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。数据范围1≤n≤1018输入样例:20输出样例:20 10 5 2 1AC代码#include<bits/stdc++.h>using namespace原创 2022-04-03 09:05:36 · 1278 阅读 · 17 评论 -
第十二届蓝桥杯省赛第二场C++B组 真题题解(详细讲解+代码分析)看这篇就够了~~~
第十二届蓝桥杯省赛第二场C++B组 真题题解求余双阶乘格点整数分解城邦特殊年份小平方完全平方数负载均衡求余AC代码#include<bits/stdc++.h>using namespace std;int main(){ cout<<2021%20<<endl; return 0;}//答案 1双阶乘AC代码#include<bits/stdc++.h>using namespace std;int main()原创 2022-04-03 09:05:11 · 1186 阅读 · 18 评论 -
第十二届蓝桥杯省赛第一场C++ A/B/C组 真题题解(详细讲解 + 代码分析)看这篇就够了~~~~
第十二届蓝桥杯省赛第一场C++ A/B/C组 真题题解(详细讲解 + 代码分析)空间卡片直线货物摆放路径时间显示砝码去重杨辉三角空间AC代码#include<bits/stdc++.h>using namespace std;int main(){ cout<<256*1024*1024/4<<endl; return 0;}// 答案 67108864卡片AC代码#include<bits/stdc++.h>u原创 2022-04-02 14:37:47 · 16278 阅读 · 36 评论 -
第十届蓝桥杯省赛C/C++ B组 真题题解(详细讲解+代码分析)看这篇就够了~~
第十届蓝桥杯大赛个人赛省赛C/C++ B组A.组队题意:就是选出5人组队需要组合的评分最高。思路:由于是道填空题,博主就直接用笔算了,希望眼睛没有看花。需要注意的就是一个人不能被选多次,只能被选一次。答案:489(98+99+97+97+98)B.年号字串题意:根据题目的推理,2019所对应的字符串应该是什么?思路:这题有点像进制转换,将十进制转换为26进制。所以,用转换进制的想法去求解即可代码1#include<bits/stdc++.h>原创 2021-03-17 21:38:07 · 5006 阅读 · 16 评论 -
完全二叉树的权值 --- 蓝桥杯 (双指针)
完全二叉树的权值 — 蓝桥杯题目描述给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是 1。输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,⋅⋅⋅AN。输出格式输出一个整数代表答案。数据范围1≤N≤105,−105≤Ai≤105输原创 2022-04-04 17:18:37 · 1685 阅读 · 1 评论 -
交换瓶子 --- 蓝桥杯 (暴力)
交换瓶子 — 蓝桥杯题目描述有 N 个瓶子,编号 1∼N,放在架子上。比如有 5 个瓶子:2 1 3 5 4要求每次拿起 2 个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换 2 次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式第一行包含一个整数 N,表示瓶子数量。第二行包含 N 个整数,表示瓶子目前的排列状况。输出格式输出一个正整数,表示至少交换多少次,才能完成排序。数据范围1≤N≤10000,输原创 2022-04-04 16:33:41 · 691 阅读 · 0 评论 -
日志统计 --- 蓝桥杯
日志统计 — 蓝桥杯题目描述小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N 行。其中每一行的格式是:ts id表示在 ts 时刻编号 id 的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻 T 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是”热帖”。给定日志,请你帮助小明统计出所有曾是原创 2022-04-03 20:56:05 · 1223 阅读 · 2 评论 -
航班时间 --- 蓝桥杯
航班时间 — 蓝桥杯题目描述小 h 前往美国参加了蓝桥杯国际赛。小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。小 h 对超音速飞行感到十分恐惧。仔细观察后发现飞机的起降时间都是当地时间。由于北京和美国东部有 12 小时时差,故飞机总共需要 14 小时的飞行时间。不久后小 h 的女朋友去中东交换。小 h 并不知道中东与北京的时差。但是小 h 得到了女朋友来回航班的起降时间。小 h 想知道女朋友的航班飞行时间是多少。对于一原创 2022-04-03 16:32:22 · 323 阅读 · 0 评论 -
日期问题 --- 蓝桥杯
日期问题 — 蓝桥杯题目描述小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对原创 2022-04-03 15:55:56 · 276 阅读 · 1 评论 -
移动的距离 --- 蓝桥杯
移动的距离 — 蓝桥杯题目描述X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为 6 时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 …我们的问题是:已知了两个楼号 m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)。输入格式输入共一行,包含三个整数 w,m,n,w 为排号宽度,m,n 为待计算的楼号。输出格式输出一个整数,原创 2022-04-03 15:10:38 · 164 阅读 · 0 评论 -
错误票据 --- 蓝桥杯
错误票据 — 蓝桥杯题目链接题目描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式第一行包含整数 N,表示后面共有 N 行数据。接下来 N 行,每行包含空格分开的若干个(不大于100个)正整数(不大于100000),每个整数代原创 2022-04-03 14:19:46 · 639 阅读 · 6 评论 -
特别数的和 --- 蓝桥杯
特别数的和 — 蓝桥杯题目描述小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输入格式共一行,包含一个整数 n。输出格式共一行,包含一个整数,表示满足条件的数的和。数据范围1≤n≤10000输入样例:40输出样例:574思路:取出x的每位数字int t = x % 10;x /= 10;A原创 2022-04-02 11:32:39 · 463 阅读 · 0 评论 -
递增三元组 -- 蓝桥杯
递增三元组 – 蓝桥杯题目描述:给定三个整数数组A=[A1,A2,…AN],B=[B1,B2,…BN],C=[C1,C2,…CN],请你统计有多少个三元组 (i,j,k) 满足:1)1≤i,j,k≤N2)Ai<Bj<Ck输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,…AN。第三行包含 N 个整数 B1,B2,…BN。第四行包含 N 个整数 C1,C2,…CN。输出格式一个整数表示答案。数据范围1≤N≤105,0≤Ai,Bi,Ci≤105原创 2022-04-01 10:15:31 · 1777 阅读 · 7 评论 -
连号区间数 -- 蓝桥杯
连号区间数 – 蓝桥杯题目描述:小明这些天一直在思考这样一个奇怪而有趣的问题:在 1∼N 的某个排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间 [L,R] 里的所有元素(即此排列的第 L 个到第 R 个元素)递增排序后能得到一个长度为 R−L+1 的“连续”数列,则称这个区间连号区间。当 N 很小的时候,小明可以很快地算出答案,但是当 N 变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入格式第一行是一个正整数 N,表示排列的规模。第二行是 N 个不同的数字 Pi原创 2022-04-01 10:12:42 · 442 阅读 · 0 评论 -
饮料换购 -- 蓝桥杯
饮料换购 – 蓝桥杯题目描述:乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。输入格式输入一个整数 n,表示初始买入的饮料数量。输出格式输出一个整数,表示一共能够喝到的饮料数量。数据范围0<n<10000输入样例:100输出样例:149AC代码#include<b原创 2022-04-01 10:08:23 · 1084 阅读 · 0 评论 -
蚂蚁感冒 -- 蓝桥杯
蚂蚁感冒 – 蓝桥杯题目描述:长 100 厘米的细长直杆子上有 n 只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有 1 只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。输入格式第一行输入一个整数 n, 表示蚂蚁的总数。接着的一行是 n 个用空格分开的整数 Xi, Xi 的绝对值表示蚂蚁离开杆子左边端点的距离。原创 2022-04-01 10:05:46 · 127 阅读 · 0 评论 -
买不到的数目 -- 蓝桥杯
买不到的数目 – 蓝桥杯题目描述:小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数 n,m,表示每种包装中糖的颗数。输出格式一个正整数,表示最大不能买到的糖数原创 2022-04-01 10:02:58 · 138 阅读 · 0 评论 -
K倍区间 -- 蓝桥杯
K倍区间 – 蓝桥杯题目描述:给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai+1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。你能求出数列中总共有多少个 K 倍区间吗?输入格式第一行包含两个整数 N 和 K。以下 N 行每行包含一个整数 Ai。输出格式输出一个整数,代表 K 倍区间的数目。数据范围1≤N,K≤100000,1≤Ai≤100000输入样例:5 212345输出样例:6AC代码#i原创 2022-03-31 22:21:37 · 615 阅读 · 2 评论 -
分巧克力 -- 蓝桥杯
分巧克力 – 蓝桥杯题目描述:儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足:1.形状是正方形,边长是整数2.大小相同例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?输入原创 2022-03-31 22:18:48 · 175 阅读 · 0 评论 -
四平方和 -- 蓝桥杯
四平方和 – 蓝桥杯题目描述:四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。比如:5=02+02+1^2 + 2^27=12+12+1^2 +2^2对于一个给定的正整数,可能存在多种平方和的表示法。要求你对 4 个数排序:0≤a≤b≤c≤d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法。输入格式输入一个正整数 N。输出格式输出4个非负整数,按从小到大原创 2022-03-31 22:15:40 · 235 阅读 · 0 评论 -
翻硬币 -- 蓝桥杯
翻硬币 – 蓝桥杯题目描述:小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:oo*oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作。输入格式两行等长的字符串,分别表示初始状态和要达到的目标状态。输出格式一个整数,表原创 2022-03-31 22:10:55 · 106 阅读 · 0 评论 -
带分数 -- 蓝桥杯
带分数 – 蓝桥杯题目描述:100 可以表示为带分数的形式:100=3+69258714还可以表示为:100=82+3546197注意特征:带分数中,数字 1∼9 分别出现且只出现一次(不包含 0)。类似这样的带分数,100 有 11 种表示法。输入格式一个正整数。输出格式输出输入数字用数码 1∼9 不重复不遗漏地组成带分数表示的全部种数。数据范围1≤N<106输入样例1:100输出样例1:11输入样例2:105输出样例2:6AC代码// n = a原创 2022-03-31 22:07:10 · 3434 阅读 · 0 评论 -
第六届蓝桥杯个人省赛(软件类)C/C++ 大学A组 题解
第六届蓝桥杯个人省赛(软件类)C/C++ 大学A组方程整数解题意:如题所示,就需要你找出三个不同的整数的平和和为1000,需要你输出其中数最小的。思路:写三层for循环即可,求出三个整数,可没说一定是正数哦,最小的整数肯定是负数呀,记得加个负号哦。代码//方程整数解#include<bits/stdc++.h>using namespace std;int main(){ for(int i=1;i<1000;i++) {for(int j=原创 2021-04-02 19:48:06 · 481 阅读 · 0 评论 -
第九届蓝桥杯大赛个人省赛C/C++ B组 题解
第九届蓝桥杯大赛个人省赛C/C++ B组第几天思路:使用电脑自带计算器或者Excel表格,但是最后都需要加1,因为开始的那天为第一天。电脑自带计算器(结果记得加1)Excel表格(结果记得加1)答案就是125明码乘积尾零题意:问输入100个数字相乘,乘积结果里面包含多少个0?思路:由于2*5=10,可以看作,这些数可化成多少个2或者5,求出2与5数量的最小值,因为只能2与5数量一样才是0个数的正确值。代码#include<bits/stdc++.原创 2021-03-31 21:49:11 · 717 阅读 · 0 评论 -
第六届蓝桥杯省赛C语言B组 题解
第六届蓝桥杯省赛C语言B组奖券数目题意:需要发出的奖券号码从10000-99999,但发出条件是这些号码里面不能含有数字4,问一共能发出多少张奖券。思路:把数字拆分,写入判断条件,再从10000到99999跑一边循环。代码方法一:由于数据不大,就直接暴力枚举。#include<bits/stdc++.h>using namespace std;int main(){ int sum=99999-10000+1;//奖券总数目 for(int i=1原创 2021-03-30 17:01:00 · 2754 阅读 · 16 评论 -
第七届蓝桥杯省赛C/C++ B组 题解
第七届蓝桥杯省赛C/C++ B组煤球数目题意:按照题目的要求求出第100层,共有多少煤球思路:1,3,6,10…d1=2,d2=3,d3=4…dn=n-1,如果需要求第n项累加求和即可。#include<bits/stdc++.h>using namespace std;int main(){ int n;//第n层while(cin>>n){ int sum=0; for(int i=1;i<=n;i++) {原创 2021-03-18 21:37:08 · 798 阅读 · 3 评论 -
第十一届蓝桥杯省赛第二场C/C++ B组题解
第十一届蓝桥杯省赛第二场C/C++ B组A.门牌制作题意:制作从1到2020这些数字里面需要使用后多少个字符2;思路:for循环,并且把数字拆分,从每一位去判断。代码:#include<bits/stdc++.h>using namespace std;int solve(int n){ int ant=0; while(n)//把数字拆分 { int x=n%10; if(x==2)ant++; n/=1原创 2021-03-15 21:20:17 · 2299 阅读 · 19 评论