
蓝桥杯真题
Bayern2JZ
这个作者很懒,什么都没留下…
展开
-
蓝桥杯真题:完全二叉树的权值
原题链接:https://www.acwing.com/problem/content/1242/完全二叉树的权值给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是 1。输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,⋅⋅⋅AN。输出格式原创 2021-03-07 20:49:56 · 252 阅读 · 0 评论 -
蓝桥杯2018年C++ B组 8_日志统计
日志统计标题:日志统计小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id表示在ts时刻编号id的帖子收到一个"赞"。现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于K个赞,该帖就曾是"热帖"。给定日志,请你帮助小明统计出所有曾是"热帖"的帖子编号。【输入格式】第原创 2021-02-23 21:44:37 · 141 阅读 · 0 评论 -
蓝桥杯2016年C++ B组 6_方格填数
方格填数如下的10个格子 +--+--+--+ | | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。做这题的时候踩了审题的坑第.原创 2021-02-03 01:47:52 · 223 阅读 · 0 评论 -
蓝桥杯2016年C++ B组 8_四平方和
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b <= c <= d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示.原创 2021-02-03 01:42:48 · 298 阅读 · 0 评论 -
蓝桥杯2015C++ B组 9_垒骰子
垒骰子赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。 atm想计算一下有多少种不同的可能的垒骰子方式。两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。由于方案数可能过多,请输出模 10^9 +.原创 2021-01-27 01:41:30 · 141 阅读 · 0 评论 -
算法题中数据范围对应的正解算法
原创 2021-01-23 00:59:02 · 191 阅读 · 1 评论 -
蓝桥杯2014年C++ B组 9_地宫取宝
标题:地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。 请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得.原创 2021-01-20 23:53:08 · 107 阅读 · 0 评论 -
蓝桥杯2014年C++ B组 8_蚂蚁感冒
蚂蚁感冒标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】 第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。 接着原创 2021-01-20 01:13:28 · 120 阅读 · 0 评论 -
蓝桥杯2014年C++ B组 7_六角填数
六角填数标题:六角填数 如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?有意思的一道题目我使用了简单粗暴的宽搜大法六角星中的值对应xing[]下标如图:#include<iostream>#include<algorithm>using namespace std;int xing[13];bool num[13];int原创 2021-01-20 00:29:00 · 165 阅读 · 0 评论 -
蓝桥杯2014年C++ B组 6_奇怪的分式
奇怪的分式标题:奇怪的分式 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,原创 2021-01-19 23:42:22 · 116 阅读 · 1 评论 -
蓝桥杯2014年C++ B组 5_打印图形
打印图形 小明在X星球的城堡中发现了如下图形和文字:rank=5 * * * * *原创 2021-01-19 02:29:14 · 205 阅读 · 0 评论 -
蓝桥杯2014年C++ B组 3_李白打酒
标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。原创 2021-01-19 00:06:30 · 107 阅读 · 0 评论 -
蓝桥杯2014C++ B组 1_啤酒和饮料
啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。代码:#include<iostream>#include<algorithm>using namespace std;int main(){ double su原创 2021-01-18 23:35:33 · 162 阅读 · 0 评论 -
蓝桥杯2013年C++ B组 9_带分数
带分数题目描述100可以表示为带分数的形式:100 = 3 + 69258 / 714,还可以表示为:100 = 82 + 3546 / 197,注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100有11种表示法。题目要求:从标准输入读入一个正整数N(N < 1000 * 1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!例用户输入:100程序输出:11再如:用户输入:105程序原创 2021-01-18 01:14:35 · 168 阅读 · 0 评论 -
蓝桥杯2013年C++ B组 8_翻硬币
翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用*表示正面,用o表示反面(是小写字母,不是零),比如可能情形是**oo***oooo,如果同时翻转左边的两个硬币,则变为oooo***oooo。现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作,要求:程序输入:两行等长字符串,分别表示初始状态和要达到的目标状态,每行长度<1000程序输出:一个整数,表示最原创 2021-01-17 23:41:16 · 184 阅读 · 1 评论 -
蓝桥杯2013年C++ B组 7_错误票据
第七题:错误票据(4分)题目描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号,全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID,假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N<100)表示后面数据行数,接着读入N行数据,每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000),每个整原创 2021-01-17 17:05:32 · 121 阅读 · 0 评论 -
蓝桥杯2013年C++ B组 6_三部排序
三部排序题目描述 一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗! 以下的程序实现了该目标。其中x指向待排序的整型数组,len是数组的长度。#include <stdio.h>vo原创 2021-01-17 16:29:50 · 83 阅读 · 0 评论 -
蓝桥杯2013年C++ B组 5_前缀判断
前缀判断题目描述如下的代码判断needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。比如:"abcd1234"就包含了"abc"为前缀。char *prefix(char *haystack_start,char *needle_start) //hay_stack指向串,needle_start指向的串{ char *haystack=haystack_start; char *needle=needle_start; while(*h原创 2021-01-17 16:00:17 · 87 阅读 · 0 评论 -
蓝桥杯2013年C++ B组 3_39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶,先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。这题没有坑点,直接使用基础递归:#include<iostream>using namespace std;long cnt;void walk(in原创 2021-01-17 15:56:16 · 193 阅读 · 0 评论 -
蓝桥杯2013年C++ B组 2_马虎的算式
马虎的算式小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为 36 * 495 = 396 * 45 = 17820类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如: ab * cde = adb * ce 这样的算式原创 2021-01-16 16:19:55 · 90 阅读 · 0 评论 -
蓝桥杯2013年C++ B组 1_高斯日记
高斯日记第一题: 高斯日记题目描述大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。高斯获得博士学位的那天日记上标着:8113请你算出高斯获得原创 2021-01-16 15:29:13 · 175 阅读 · 0 评论