蓝桥杯
蓝桥杯刷题题解
夏普通
Debug Your Life.
e-mail:[email protected]
展开
-
2015-年校内选拔-蓝桥杯C-(A组)赛题-dfs-7对数字
今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:17126425374635当然,如果把它倒过来,也是符合要求的。请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。注意:只填写这个14位的整数,不能填写任何多余的内容,比如说明注释等。#include...原创 2018-03-28 23:26:47 · 213 阅读 · 0 评论 -
2016-年蓝桥杯C-(A组)赛题-密码脱落
密码脱落X星球的考古学家发现了一批古代留下来的密码。这些密码是由A、B、C、D 四种植物的种子串成的序列。仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。输入一行,表示现在看到的密码串(长度不大于1000)要求...原创 2018-03-25 22:32:13 · 269 阅读 · 0 评论 -
2016-年蓝桥杯C-(A组)赛题-消除尾一
消除尾一下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0如果最后一位是0,则原数字保持不变。如果采用代码中的测试数据,应该输出:00000000000000000000000001100111 0000000000000000000000000110000000000000000000000000000000001100 0000000000000000000000000000...原创 2018-03-25 22:30:52 · 318 阅读 · 0 评论 -
2016-年蓝桥杯C-(A组)赛题-四平方和
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多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 <=...原创 2018-03-25 22:28:42 · 240 阅读 · 0 评论 -
2016-年蓝桥杯C-(A组)赛题-网友年龄
网友年龄某君新认识一网友。当问及年龄时,他的网友说:“我的年龄是个2位数,我比儿子大27岁,如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”请你计算:网友的年龄一共有多少种可能情况?提示:30岁就是其中一种可能哦.请填写表示可能情况的种数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include<stdio.h>int find_gewei(int ...原创 2018-03-25 21:07:03 · 180 阅读 · 0 评论 -
2016-年蓝桥杯C-(A组)赛题-快速排序
快速排序排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码。#include <stdio.h>void swap(int a[], int i, in...原创 2018-03-25 21:05:56 · 157 阅读 · 0 评论 -
2015-年校内选拔-蓝桥杯C-(A组)赛题-dfs-数独
你一定听说过“数独”游戏。如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。数独的答案都是唯一的,所以,多个解也称为无解。本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。本题的要求就是输入数独题目,程序输出数独的唯一解。我们保证所有已知数据的...原创 2018-03-28 23:27:15 · 305 阅读 · 0 评论 -
2015-年校内选拔-蓝桥杯C-(A组)赛题-最长公共子序列
一个串的子串是指该串的一个连续的局部。如果不要求连续,则可称为它的子序列。比如对串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。特别地,一个串本身,以及空串也是它的子序列。对两个串而言,可以有许多的共同的子序列,我们关心的是:它们所共同拥有的长度最大的子序列是多长。以下代码实现了这个问题的求解。请填写划线部分缺失的代码。注意:只填写划线部分缺少的内容,不要填写...原创 2018-03-27 23:32:29 · 217 阅读 · 0 评论 -
2015-年蓝桥杯C-(A组)赛题-dfs-手链样式
手链样式小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。他想用它们串成一圈作为手链,送给女朋友。现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?请你提交该整数。不要填写任何多余的内容或说明性的文字。#include <iostream>#include <map>#include <vector>#include <set&...原创 2018-03-27 22:55:35 · 540 阅读 · 0 评论 -
2015-年蓝桥杯C-(A组)赛题-递归-饮料换购
饮料换购乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量(0<n<10000)输出:一个整数,表示实际得到的饮料数例如:用户输入:100程序应该输出:149...原创 2018-03-27 22:53:52 · 573 阅读 · 0 评论 -
2015-年蓝桥杯C-(A组)赛题-dfs-牌型种数
牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。#include<stdio.h>int b[14]={0};//int a[14...原创 2018-03-27 22:01:43 · 457 阅读 · 0 评论 -
2015-年蓝桥杯C-(A组)赛题-dfs-九数组分数
九数组分数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 + x[6]*100 +...原创 2018-03-27 20:43:54 · 227 阅读 · 0 评论 -
2015-年蓝桥杯C-(A组)赛题-格子中输出
格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include <stdio.h>#include <string.h>void StringInGrid(int width, int...原创 2018-03-27 20:21:55 · 183 阅读 · 0 评论 -
2015-年蓝桥杯C-(A组)赛题-奇妙的数字
奇妙的数字小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?请填写该数字,不要填写任何多余的内容。#include<stdio.h>#include<string.h>int a[10];void qmyw(int n){ int t; while(n!=0){ t=n%10; a[t]++; ...原创 2018-03-27 20:02:31 · 601 阅读 · 0 评论 -
蓝桥杯-历届试题 分糖果
历届试题 分糖果 时间限制:1.0s 内存限制:256.0MB(简单题)问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发...原创 2018-03-31 12:44:46 · 252 阅读 · 0 评论 -
蓝桥杯-历届试题 兰顿蚂蚁
兰顿蚂蚁是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。 规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接...原创 2018-03-31 00:00:40 · 379 阅读 · 0 评论 -
2015-年校内选拔-蓝桥杯C-(A组)赛题-勾股定理
勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。 求满足这个条件的不同直角三角形的个数。【数据格式】输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。 注意时间限制要求输出一个整数,表示满足条件的直角三角形个数。例如,输入:5程序应该输出:1再例如,输入:100...原创 2018-03-30 21:52:56 · 355 阅读 · 0 评论 -
【备战蓝桥杯】【递归】【C语言】【ALGO-20算法训练 求先序排列】
ALGO-20算法训练 求先序排列 时间限制:1.0s 内存限制:256.0MB关键字:递归问题描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。输入格式 两行,每行一个字符串,分别表示中序和后序排列输出格式 一个字符串,表示所求先序排列样例输入BADCBDCA样例输出ABCD分析首先我们要清楚的是,二叉树遍历的三种形式:1....原创 2018-03-12 00:29:15 · 695 阅读 · 3 评论 -
【备战蓝桥杯】【递归】【C语言】【ALGO-95算法训练 2的次幂表示】
ALGO-95算法训练 2的次幂表示 时间限制:1.0s 内存限制:512.0MB问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) ...原创 2018-03-11 18:03:52 · 393 阅读 · 0 评论 -
2017-年蓝桥杯C-(A组)赛题-dfs-迷宫
1.标题:迷宫X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到下坡方向的房间。X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定...原创 2018-03-17 16:51:18 · 1234 阅读 · 2 评论 -
【备战蓝桥杯】【动态规划】【 瓷砖铺放2】
问题描述有一长度为 N(1<=N<=10)的地板,给定三种不同瓷砖:一种长度为 1,一种长度为 2,另一种长度为 3,数目不限。要将这个长度为 N 的地板铺满,并且要求长度为 1 的瓷砖 不能相邻,一共有多少种不同的铺法?例如,长度为 4 的地板一共有如下 4 种铺法:4=1+2+14=1+34=2+24=3+1编程求解上述问题。第一种输入格式只有一个数 N,代表地板的长度。输出格式方...原创 2018-03-17 21:24:47 · 1195 阅读 · 0 评论 -
【备战蓝桥杯】【递归】【C语言】【ALGO-11算法训练 瓷砖铺放】
ALGO-11算法训练 瓷砖铺放 时间限制:1.0s 内存限制:512.0MB关键字:递归问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有如下5种铺法: 4=1+1+1+1 4=2+1+1 4=1+2+1 4=1+1+2 4=2...原创 2018-03-12 00:39:05 · 1276 阅读 · 0 评论 -
【备战蓝桥杯】【递归】【C语言】【BASIC-21基础练习 Sine之舞】
BASIC-21基础练习 Sine之舞 时间限制:1.0s 内存限制:512.0MB关键字:字符串递归递推问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+...sin(n))...) Sn...原创 2018-03-11 15:18:26 · 569 阅读 · 0 评论 -
【备战蓝桥杯】【递归】【C语言】【BASIC-22基础练习 FJ的字符串】
BASIC-22基础练习 FJ的字符串 时间限制:1.0s 内存限制:512.0MB关键字:字符串 递归问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串...原创 2018-03-06 20:54:27 · 418 阅读 · 2 评论 -
2017-年蓝桥杯C-(A组)赛题-dfs-方格分割
4. 标题:方格分割6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图4-1,4-2,4-3:就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。请提交该整数,不要填写任何多余的内容或说明文字。 图4-1 方格分割 ...原创 2018-03-18 17:37:06 · 428 阅读 · 0 评论 -
2017-年蓝桥杯C-(A组)赛题-动态规划-字母组串
5. 标题:字母组串由 A,B,C 这3个字母就可以组成许多串。比如:"A","AB","ABC","ABA","AACBB" ....现在,小明正在思考一个问题:如果每个字母的个数有限定,能组成多少个已知长度的串呢?他请好朋友来帮忙,很快得到了代码,解决方案超级简单,然而最重要的部分却语焉不详。请仔细分析源码,填写划线部分缺少的内容。#include <stdio.h>// a个原创 2018-03-18 19:27:36 · 1374 阅读 · 0 评论 -
2015-年校内选拔-蓝桥杯C-(A组)赛题-x的x次幂结果为10
如果x的x次幂结果为10(参见下图),你能计算出x的近似值吗?显然,这个值是介于2和3之间的一个数字。请把x的值计算到小数后6位(四舍五入),并填写这个小数值。注意:只填写一个小数,不要写任何多余的符号或说明。#include<stdio.h>#include<math.h>int main(){ double x=2.0; while(x<...原创 2018-03-30 20:45:08 · 428 阅读 · 4 评论 -
2015-年校内选拔-蓝桥杯C-(A组)赛题-圆周率pai
(一道水水的题)历史上有许多计算圆周率pai的公式,其中,格雷戈里和莱布尼茨发现了下面的公式:pai = 4*(1-1/3+1/5-1/7 ....)参见【图1.png】这个公式简单而优美,但美中不足,它收敛的太慢了。如果我们四舍五入保留它的两位小数,那么:累积了1项和是:4.00累积了2项和是:2.67累积了3项和是:3.47。。。请你写出它累积了100项的和是多少(四舍五入到小数后两位)。#i...原创 2018-03-30 20:33:03 · 476 阅读 · 0 评论 -
2016-年蓝桥杯C-(A组)赛题-dfs-剪邮票
剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。1、二维#include<stdio.h>#incl...原创 2018-03-24 15:09:24 · 349 阅读 · 0 评论 -
2016-年蓝桥杯C-(A组)赛题-dfs-寒假作业
6、寒假作业现在小学的数学题目也不是那么好玩的。看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果显示不出来,可以参见【图1.jpg】) 每个方块代表1~13中的某一个数字,但不能重复。比如: 6 + 7 = 13 9 - 8 = 1 3 * 4 = 12 10 / 2 = 5以及: 7 + 6 = 1...原创 2018-03-24 15:07:50 · 300 阅读 · 0 评论 -
2017-年蓝桥杯C-(A组)赛题-dfs-正则问题
7. 描述:正则问题考虑一种简单的正则表达式:只由 x ( ) | 组成的正则表达式。小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。输入一个由x()|组成的正则表达式。输入长度不超过100,保证合法。 输出这个正则表达式能接受的最长字符串的长度。 例如,输入:((xx|xxx)x|(x|xx))x...原创 2018-03-18 21:37:36 · 1565 阅读 · 1 评论 -
【备战蓝桥杯】【递归】【C语言】【排队购票问题】
问题描述: 售票工作正在进行,每张票为50元,现在有m+n人排队等待购票,其中有m人手持50元,n人手持100元,假设售票处不设找零,那么若想使售票处不会出现找不开零钱的局面,请你帮忙设计不同的排队方案。特别说明的是,拿同样面值的人对换位置为同一种方案。算法分析:一:n=0; 那么说明买票的人都是手持50元,所以不会出现找不开零钱的局面,所以这是一种排队方案;二:m=0; 那么说明...原创 2018-03-06 20:27:04 · 2502 阅读 · 0 评论