蓝桥杯
为促进软件和信息领域专业技术人才培养,提升高校毕业生的就业竞争力,由教育部就业指导中心支持,工业和信息化部人才交流中心举办蓝桥杯大赛。
繁星蓝雨
Happy coding!
展开
-
第十届蓝桥杯C++B组题目、解析以及答案
第十届蓝桥杯C++B组题目解析以及答案第一题:作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员,组成球队的首发阵容。每位球员担任 1号位至 5号位时的评分如下表所示。请你计算首发阵容 1号位至5号位的评分之和最大可能是多少?方法:excel答案:490(算出每个列最大值,相加(),大意了,竟然算错了。。。)第二题:小明用字母 A对应数字 1,B...原创 2019-03-25 10:58:37 · 3291 阅读 · 4 评论 -
第五届蓝桥杯C++B组:蚂蚁感冒
长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】 第一...原创 2019-03-13 14:42:52 · 383 阅读 · 0 评论 -
第五届蓝桥杯C++B组:六角填数
如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。参考代码:#include<cstdio>#include<vector>using namespace std;void c...原创 2019-03-13 11:37:44 · 436 阅读 · 0 评论 -
第五届蓝桥杯c++B组:奇怪的分式
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包...原创 2019-03-13 11:07:54 · 385 阅读 · 0 评论 -
第五届蓝桥杯C++B组:打印图形
小明在X星球的城堡中发现了如下图形和文字:rank=3 * * ** * * * * *rank=5 * * * ...原创 2019-03-13 10:32:31 · 365 阅读 · 0 评论 -
第五届蓝桥杯C++B组:史丰收速算
史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算! 速算的核心基础是:1位数乘以多位数的乘法。 其中,乘以7是最复杂的,就以它为例。 因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1 同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/...原创 2019-03-13 09:46:33 · 373 阅读 · 0 评论 -
第五届蓝桥杯C++B组:李白打酒
话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是...原创 2019-03-13 08:28:34 · 366 阅读 · 0 评论 -
第九届蓝桥杯C++B组:乘积最大(附带解题思路、代码和测试数据)
给定N个整数A1, A2, ... AN。请你从中选出K个数,使其乘积最大。 请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以1000000009的余数。 注意,如果X<0, 我们定义X除以1000000009的余数是负(-X)除以1000000009的余数。即:0-((0-x) % 1000000009)【输入格式】第一行包含两个整数N和K。 ...原创 2019-03-17 17:08:54 · 1352 阅读 · 0 评论 -
第九届蓝桥杯C++B组:全球变暖( 三种方法解决)
你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海...原创 2019-03-17 17:08:18 · 1310 阅读 · 7 评论 -
第九届蓝桥杯C++B组:日志统计
小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id 表示在ts时刻编号id的帖子收到一个"赞"。 现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。 具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于...原创 2019-03-17 17:05:13 · 447 阅读 · 0 评论 -
第九届蓝桥杯C++B组:螺旋折线
如图p1.png所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9 给出整点坐标(X, Y),你能计算出dis(X, Y)吗?【输入格式】X和Y 对于40%的数据,-1000 <= X, Y <= 1...原创 2019-03-17 17:04:01 · 482 阅读 · 0 评论 -
第九届蓝桥杯C++B组:递增三元组
给定三个整数数组A = [A1, A2, ... AN],B = [B1, B2, ... BN],C = [C1, C2, ... CN],请你统计有多少个三元组(i, j, k) 满足:1. 1 <= i, j, k <= N 2. Ai < Bj < Ck 【输入格式】第一行包含一个整数N。第二行包含N个整数A1, A2, .....原创 2019-03-17 17:01:28 · 608 阅读 · 0 评论 -
第九届蓝桥杯C++B组:快速排序
以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。#include <stdio.h> int quick_select(int a[], int l, int r, int k) { int p = rand() % (r - l + 1) + l; ...原创 2019-03-17 16:59:21 · 589 阅读 · 0 评论 -
第九届蓝桥杯C++B组:测试次数
x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手...原创 2019-03-17 16:57:35 · 590 阅读 · 0 评论 -
第九届蓝桥杯C++B组:乘积尾零
标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 57...原创 2019-03-17 16:50:37 · 542 阅读 · 0 评论 -
第九届蓝桥杯C++B组:明码
汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第4字节....第31字...原创 2019-03-17 11:40:50 · 673 阅读 · 0 评论 -
第五届蓝桥杯C++B组:地宫取宝
X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这...原创 2019-03-13 16:21:58 · 396 阅读 · 0 评论 -
第五届蓝桥杯C++B组:小朋友排队
n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。...原创 2019-03-13 21:45:09 · 548 阅读 · 0 评论 -
第八届蓝桥杯C++B组归纳与总结
01 购物单 简单计算 excel02 等差素数列 素数的判断,三重暴力枚举03 承压计算 数组 注意计量单位,要精确就先放大2^30来做除法**04 方格分割 dfs(中心点对称)05 取数位 递归 搞清楚参数的含义及参数的变化方向06 最大公共子串 经典dp07 日起问题 常规日期运算 ,细心,考虑闰年;字符串串处理***08 包子凑数,扩展欧几里得算法+完全背包问...原创 2019-03-22 09:21:46 · 415 阅读 · 0 评论 -
第八届蓝桥杯C++B组:取数位
求1个整数的第k位数字有很多种方法。以下的方法就是一种。// 求x用10进制表示时的数位长度 int len(int x){ if(x<10) return 1; return len(x/10)+1;} // 取x的第k位数字int f(int x, int k){ if(len(x)-k==0) return x%10; return _____________...原创 2019-03-18 22:14:24 · 371 阅读 · 0 评论 -
第九届蓝桥杯C++A组:付账问题
【题目描述】几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 n 个人出去吃饭,他们总共消费了 S 元。其中第 i 个人带了 ai 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为 S 的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不...原创 2019-03-22 15:15:34 · 379 阅读 · 0 评论 -
第八届蓝桥杯C++B组: k倍区间
给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。你能求出数列中总共有多少个K倍区间吗?输入-----第一行包含两个整数N和K。(1 <= N, K <= 100000)以下N行每行包含一个整数Ai。(1 <= Ai ...原创 2019-03-19 19:35:34 · 449 阅读 · 0 评论 -
第八届蓝桥杯C++B组: 分巧克力
儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1. 形状是正方形,边长是整数2. 大小相同例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到...原创 2019-03-18 22:19:26 · 334 阅读 · 0 评论 -
第八届蓝桥杯C++B组:包子凑数
小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然...原创 2019-03-18 22:18:14 · 358 阅读 · 0 评论 -
第八届蓝桥杯C++B组:日期问题
小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日...原创 2019-03-18 22:17:21 · 328 阅读 · 0 评论 -
第八届蓝桥杯C++B组:最大公共子串
最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:"abcdkkk" 和 "baabcdadabc",可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。#include <stdio.h>#...原创 2019-03-18 22:15:54 · 376 阅读 · 0 评论 -
第八届蓝桥杯C++B组:方格分割
6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图:p1.png, p2.png, p3.png 就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。请提交该整数,不要填写任何多余的内容或说明文字。答案:509思路:1,如果以每个格子进行分割的话,使用bfs(先纵后横(走到...原创 2019-03-18 22:12:52 · 511 阅读 · 0 评论 -
第八届蓝桥杯C++B组:承压计算
X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。75 87 8 89 2 7...原创 2019-03-18 22:10:55 · 502 阅读 · 0 评论 -
第八届蓝桥杯C++B组:等差素数列
2,3,5,7,11,13,....是素数序列。类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:...原创 2019-03-18 22:09:57 · 600 阅读 · 0 评论 -
第八届蓝桥杯C++B组:购物单
小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行...原创 2019-03-18 22:08:44 · 469 阅读 · 0 评论 -
第五届蓝桥杯C++B组总结与归纳
C++A组 C++B组1,啤酒和饮料 枚举暴力2,切面条 找规律3,李白打酒 dfs4,史丰收速算 debug 找规律5,打印图形 debug 找规律6,奇怪的分式 暴力枚举7,六角填数 全排列**8,蚂蚁感冒 逻辑思维***9,地宫取宝 dfs(记忆型递归)****1...原创 2019-03-22 10:20:29 · 356 阅读 · 0 评论 -
第六届蓝桥杯C++B组归纳与总结
01 奖卷数目 枚举+字符串查找02 星系炸弹 简单计算03 三羊献瑞 枚举+判断 数学推理减少04 格子中输出 %*s需要两个参数:宽度和输出内容05 九数组分数 递归求全排列06 加法变乘法 枚举,巧算*07 牌型种树 递归08 移动距离 通过举例来找到...原创 2019-03-22 10:10:51 · 393 阅读 · 0 评论 -
第七届蓝桥杯C++B组归纳与总结
01 煤球数目 简单计算02 生日蜡烛 等差数列求和03 凑算式 全排列+check04 快速排序 裸题05 抽签 递归、明确参数的含义以及参数的变化方向06 方格填数 全排列**07 剪邮票 dfs解决不了T型组合,全排列+dfs求矩阵中的连通块08 四平方 枚举+优化(hash缓存)**09 交换瓶子 贪心****10 最大比列 数学、等比数列、预处理...原创 2019-03-22 10:06:43 · 365 阅读 · 0 评论 -
第九届蓝桥杯C++B组总结归纳
1,第几天 excel 或 求两个日期的差值(考点:判断闰年)2,明码 进制转换(难点:负数的二进制【求补码】)3,乘积尾零 质因子分解4,测试次数 动态规划5,快速排序 快排6,递增三元组 二分法7,螺旋折线 找规律8,日志统计 尺取法9,全球变暖 bfs10,乘积最大 分类讨论(难点:理清所有...原创 2019-03-22 10:05:32 · 474 阅读 · 0 评论 -
蓝桥杯C++A、B组【所有题目汇总+解析+代码实例+总结】第三届~第十届
第九届蓝桥杯C++A组C++B组1,分数1,第几天2,星期一2,明码3,乘积尾零3,乘积尾零4,第几个幸运数4,测试次数5,打印图形5,快速排序6,航班时间6,递增三元组7,三体攻击7,螺旋折线8,全球变暖8,日志统计9,倍数问题9,全球变暖10,付账问题10,乘积最大总结归纳总结归纳第八...原创 2019-03-16 22:06:37 · 3381 阅读 · 0 评论 -
第六届蓝桥杯C++B组:移动距离
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 .....我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空...原创 2019-03-14 20:49:13 · 333 阅读 · 0 评论 -
第六届蓝桥杯C++B组:牌型种数
小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。答案:3598180参考代码:#include<cstdio>...原创 2019-03-14 17:43:05 · 314 阅读 · 0 评论 -
第六届蓝桥杯C++B组:加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是一个整数,不要填写任何多余的内容...原创 2019-03-14 17:09:25 · 378 阅读 · 0 评论 -
第六届蓝桥杯C++B组:九数组分数
1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。#include <stdio.h>void test(int x[]){ int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3]; int b = x[4]*10000 + x[5]*1000...原创 2019-03-14 16:37:58 · 249 阅读 · 0 评论 -
第六届蓝桥杯C++B组:格子中输出
StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include <stdio.h>#include <string.h>void StringInGrid(int wi...原创 2019-03-14 16:12:23 · 255 阅读 · 0 评论