![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
八块腹肌的小胖
中厂程序猿,有任何需要辅导的功能性代码可随时联系,t-cmath-wulong_stu
展开
-
最长公共子序列 LCS C++
代码先码着回头整理下笔记(动态规划的简单应用) #include<iostream>#include<string>#include<algorithm>using namespace std;static int N=500;int lcs(string X,string Y){ int c[N+1][N+1];//二维数组表示的是 Xi...原创 2018-10-25 18:26:05 · 1039 阅读 · 0 评论 -
2-2012年第三届蓝桥杯CC++程序设计本科B组省赛 奇怪的比赛(结果填空)
奇怪的比赛 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。每位选手都有一个起步的分数为10分。某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?如果把答对的记为1,答错的记为0,...原创 2018-03-20 20:35:57 · 209 阅读 · 0 评论 -
2012年第三届蓝桥杯C/C++程序设计本科B组省赛 海盗比酒量(结果填空)
海盗比酒量有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船.........原创 2018-03-20 19:38:22 · 273 阅读 · 1 评论 -
2016年第七届蓝桥杯CC++程序设计本科B组省赛 生日蜡烛(结果填空)
生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。.方法:while暴力结果:26岁(现在33岁)#include<iostream>using namespace std;int main() { int sum =...原创 2018-03-24 17:02:13 · 232 阅读 · 0 评论 -
2016年第七届蓝桥杯C/C++程序设计本科B组省赛 煤球数目(结果填空)
煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。思路:11+21+2+3。。。。。。。结果:171700#include<iostream>#include<cmath>#include<algorit...原创 2018-03-24 11:45:34 · 153 阅读 · 0 评论 -
2016年第七届蓝桥杯C/C++程序设计本科B组省赛 快速排序(代码填空)
快速排序排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码。.#include <stdio.h> void swap(int a[], in...原创 2018-03-24 10:38:13 · 231 阅读 · 0 评论 -
算法提高 最长字符序列
算法提高 最长字符序列 时间限制:1.0s 内存限制:256.0MB 最长字符序列问题描述 设x(i), y(i), z(i)表示单个字符,则X={x(1)x(2)……x(m)},Y={y(1)y(2)……y(n)},Z={z(1)z(2)……z(k)},我们称其为字符序列,其中m,n和k分别是字符序列X,Y,Z的长度,括号()中的数字被称作字符序列的下标。 如果存在一...原创 2018-03-13 23:54:21 · 201 阅读 · 0 评论 -
算法提高 递归倒置字符数组
算法提高 递归倒置字符数组 时间限制:1.0s 内存限制:512.0MB 问题描述 完成一个递归程序,倒置字符数组。并打印实现过程 递归逻辑为: 当字符长度等于1时,直接返回 否则,调换首尾两个字符,在递归地倒置字符数组的剩下部分输入格式 字符数组长度及该数组输出格式 在求解过程中,打印字符数组的变化情况。 最后空一行,在程序结尾处打印倒置后该数组的各个元素。样例...原创 2018-03-04 22:54:03 · 1002 阅读 · 0 评论 -
算法训练 求先序排列
算法训练 求先序排列 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。输入格式 两行,每行一个字符串,分别表示中序和后序排列输出格式 一个字符串,表示所求先序排列 样例输入 BADC BDCA样例输出ABCD代码:#include<iostream&...原创 2018-02-20 20:43:34 · 440 阅读 · 0 评论 -
2012 蓝桥杯【初赛试题】古堡算式
古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把 ABCDE 所代表的数字写出来。思路:循环遍历每个字母可能的情况。因为是填空题,要的是结果,所以笔者直接用暴力手段取结果了 结果:...原创 2018-03-14 21:27:37 · 220 阅读 · 2 评论 -
2012 蓝桥杯【初赛试题】微生物增殖
假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 如果X=10,Y=90 呢? 本题的要求就是写出这两种初始条件下,60分钟后Y的数目。#include&l...原创 2018-03-14 20:11:24 · 346 阅读 · 1 评论 -
第六届蓝桥杯B组C/C++_奖券数目
奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。.后天比赛了,再刷一波!这一题没什么难度...原创 2018-03-30 19:55:50 · 430 阅读 · 0 评论 -
2018_蓝桥_sort()函数_排序函数总结
.基本用法:排序函数:sort() #include<algorithm> int a[10]; sort(a,a+10);//默认的是从小到大排序 如果要从大到小,写一个cmp函数 #include<algorithm> bool cmp(const & int a,const ...原创 2018-03-31 09:04:12 · 208 阅读 · 0 评论 -
给定一个字符串S和一个字符x,编写递归算法实现下列功能: (1)检查x是否在s中; (2)计算x在s 中出现的次数; (3)删除s中所有x.
给定一个字符串S和一个字符x,编写递归算法实现下列功能:(1)检查x是否在s中;(2)计算x在s 中出现的次数;(3)删除s中所有x. #include<iostream>using namespace std;//string S="qabcdefghijklmnopqrstuvwxyzxwzluzwswswsmde";char s[1000];int Ti...原创 2018-09-04 11:23:56 · 4831 阅读 · 0 评论 -
算法提高 快速幂
算法提高 快速幂 时间限制:1.0s 内存限制:256.0MB 问题描述 给定A, B, P,求(A^B) mod P。输入格式 输入共一行。 第一行有三个数,N, M, P。输出格式 输出共一行,表示所求。样例输入2 5 3样例输出2数据规模和约定 共10组数据 对100%的数据,A, B为long long范围内的非负整数,P为int内的非负整数。 ..快速幂代码:...原创 2018-03-28 15:29:04 · 166 阅读 · 0 评论 -
快速幂PowerMod
之前刷题的时候做到了快速幂,一头雾水,临近竞赛,虽说和我学长比实力不咋的(称我渣渣铭),但咱们也不能就这么放弃。毕竟这也是我一个学期学习的见证哈!今天就好好的总结下快速幂的问题。 题意很简单:给你一个数x,要求计算出它的y次幂的值模p后的结果! 也就是 x^y%b. //通过递归去实现快速幂 int PW(int x,int y,int p){ ...原创 2018-03-28 15:15:40 · 1977 阅读 · 0 评论 -
算法提高 01背包
. 算法提高 01背包 时间限制:1.0s 内存限制:256.0MB 问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个.输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能装重量。 以后N行每行两个数Wi和Vi,表示物品的重量和价值输出格式 输出1行,包含一个整数,表示最大价值。样...原创 2018-04-03 09:30:03 · 178 阅读 · 0 评论 -
2018_蓝桥_动态规划_0/1背包总结
.0/1背包问题: 给定容量V的背包,现在有多个物品要放入背包,每个物品有一定的体积和价值,要求在背包可以放下的情 况下放入的物品的总价值最大(下面给的装箱问题其实也一样的,求总空间最小,其实可以理解为求装入的物品的体积最大化,那么把物品的价值赋值为体积,求体积最大也就是求价值最大!)!(部分背包问题):贪心 对于部分背...原创 2018-03-31 19:43:30 · 191 阅读 · 0 评论 -
2018_蓝桥_next_permutation()函数_全排列函数总结
全排列函数: #include<algorithm> int array[10]={1,2,3,4,5,6,7,8,9,0} do{ ........ }while(newxt_permutation(array,array+10)); 举例:计蒜客_2018蓝桥杯_模拟5_素数个数 #include<iostream>#inc...原创 2018-03-31 11:02:38 · 273 阅读 · 1 评论 -
2018_蓝桥_setprecision()函数_保留小数位数函数总结
#include<iomanip>double a; cin>>a; cout<<fixed<<setprecision(n)<<a<<endl;//对double类型的a数字,小数点后面保留n位有效数字(四舍五入)#include<iostream>#include<algorithm原创 2018-03-31 10:42:43 · 1063 阅读 · 0 评论 -
2018_蓝桥_pow()函数_次幂函数总结
c语言中pow()函数的用法和注意: 头文件:#include <math.h>pow() 函数用来求 x 的 y 次幂(次方),其原型为: double pow(double x, double y);pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。可能导致错误的情况:如果底数 x 为负数并且指数 ...原创 2018-03-31 09:31:46 · 501 阅读 · 0 评论 -
2018_蓝桥_exit(0)函数_退出函数总结
exit(0)表示正常退出,这里关于0,暂且用main函数中的return 0;记忆吧,都表示正常退出。原创 2018-03-31 09:28:23 · 278 阅读 · 0 评论 -
算法训练 一元三次方程求解
算法训练 一元三次方程求解 时间限制:1.0s 内存限制:256.0MB 问题描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求三个实根。。输入格式 四个实数:a,b,c,d输出格式 由小到大依次在...原创 2018-02-19 12:33:12 · 1289 阅读 · 0 评论 -
算法训练 校门外的树
问题描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数 轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已 知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域...原创 2018-02-16 21:06:45 · 240 阅读 · 0 评论 -
算法提高 盾神与积木游戏
算法提高 盾神与积木游戏 时间限制:1.0s 内存限制:256.0MB 问题描述 最近的m天盾神都去幼儿园陪小朋友们玩去了~ 每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们想要的东西。但是有的小朋友拿得多,有的小朋友拿得少,有些小朋友需要拿到其他小朋友的积木才能完成他的大作。如果某个小朋友完成了他的作品,那么他就会把自己的作品推倒,而无私地把他的所有积木...原创 2018-03-06 22:37:56 · 172 阅读 · 0 评论 -
蓝桥杯 十进制转换成八进制或二进制 C++
思路: 1)用给出的十进制数去除以8,得到的模数相加。 Decimal Octal Remainder 余数 2)首先这一题属于基础题吧,打算开启我的话唠模式了,今天是2018-1-15,在这里做个计划,将每天写的蓝桥杯题目都提交到CSDN上,一起分析。 3)十进制转换成八进制,就是用十进制的数除以8取模,将所有的模逆向的输出(这里说的笼统,不懂的可以百度一下哈)。 4)这里用的方法原创 2018-01-15 21:13:31 · 1026 阅读 · 0 评论 -
(约瑟夫环)算法训练 筛选号码
直接给自己写的约瑟夫问题的函数吧! 适用条件:当编号是从1开始,数到m 出局。最后只剩下一个的话。(也就是本题的约瑟夫情况)int Joseph(int n, int m) {//这里n是总数,m是数到n的人退出,num为最后剩余的人生 int *Array = new int[n];//动态申请n个单元的数组,每个单元代表一个人 int k = 0; /*当人的原创 2018-01-16 21:56:04 · 268 阅读 · 0 评论 -
算法训练 比较字符串 (蓝桥杯C++)
先上代码吧!#include#include#include#include#include#include#includeusing namespace std;int Differ(string s1, string s2) {//第一个不同字符的差值 int num1, num2; num1 = s1.size(); num2 = s2.size();原创 2018-01-17 22:38:22 · 2141 阅读 · 0 评论 -
黑白子交换
这一题我在网上找了有好久了,写的人并不多,可能时因为太简单了吧—_—||,不过我是好不容易才写好。思路应该还是清晰,就是没有讨巧的方法,是将每一种出现的可能都列了出来。如果大家写出了精简的代码还不吝赐教。问题描述:有三个白子和三个黑子如下图布置:○○○. ● ● ●游戏的目的是用最少的步数将上图中白子和黑子的位置进行交换:● ● ● . ○○○游戏的原创 2017-08-09 07:31:23 · 4978 阅读 · 0 评论 -
算法训练 接水问题(模拟simulation)
思路: 1)现将题目通读一下:给你n个人,m个水龙头。这里所有人都是按顺序打水的,每人打水所需的时间都是限定好的(嘿嘿,这里可能是有些人的水壶有大号的和小号的),当打水的人中有人打好后,立即有人替补且没有时间差!让我们求所需的总时间!2)下面分几个步骤去求总时间!! 第一:如何模拟使用水龙头打水的人的情况?(代码中用Min函数实现的) 因为每秒供水量为1,我们是可以想象用循环去...原创 2018-01-31 22:22:09 · 2057 阅读 · 7 评论 -
算法训练 数组排序去重
思路:题目考察排序和去重 排序选用的是熟悉的冒泡排序, 去重在最后输出的时候去重(没有用数组单元的覆盖去重)。上代码吧:#include#include#include#include#include#include#includeusing namespace std;int main() { int array[10]; for (int i =原创 2018-01-30 21:40:26 · 513 阅读 · 0 评论 -
算法训练 调和数列问题
思路: 1)1/2+1/3+1/4+…+1/(n+1)可以用递归去写,笔者直接用for循环写了。 2)写一个Sum()函数,返回n的! 3)在main函数里用while循环实现边输入边输出。代码:#includeusing namespace std;int Sum(double t) {//当总和大于形参时返回n double sum=0; double i原创 2018-01-30 20:40:34 · 231 阅读 · 0 评论 -
算法训练 奇偶判断(水题)
思考:题目虽然简单,但笔者还是拿出来,居然有点忘记三目运算了#includeusing namespace std;int main(){int x;cin>>x;cout2)?"odd":"even")<<endl;return 0;}原创 2018-01-21 14:37:26 · 305 阅读 · 0 评论 -
3 算法训练 乘法表(基础题) C++
题目:问题描述 输出九九乘法表。 输出格式 输出格式见下面的样例。乘号用“*”表示。 样例输出 下面给出输出的前几行: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 ……思路:应该可以直接用for循环写。两个for,i9,j<=i#include#include#inclu原创 2018-01-21 14:20:45 · 493 阅读 · 0 评论 -
算法训练 最长字符串 C++
先直接上代码吧!#include#include#include#include#includeusing namespace std;int main() { string s1,s2; int num1; cin >> s1; for (int i = 1; i 5;i++) { cin >> s2; if (原创 2018-01-18 19:28:45 · 706 阅读 · 0 评论 -
算法训练 字符串逆序 C++
先直接上代码吧:#include#include#include#include#include#includeusing namespace std;int main() { string s1; cin >> s1; stackchar> s; int num = s1.size(); for (int i = 0; i <原创 2018-01-18 19:48:25 · 421 阅读 · 0 评论 -
C++ 次方/次幂函数
#include<cmath> double a; int b; pow(a,b);//a必须是double类型的,b是a的多少次方 ! !原创 2018-02-12 19:26:58 · 68577 阅读 · 1 评论 -
算法训练 数列
思路:1)一开始想的就是根据题意作答,但是没有什么好的方法(如果做的话打算多开几份数组存放数据,但要在算出数后不断地排序)。2)打开了锦囊,提示是进制的问题,让我将输入的N转换成2进制,然后将它当作k进制的数并将它转化成十进制。3)下面的代码中需要注意的是:当sum变量为int时,数值会超出范围,但如果改成了long long int 最后一组数会出错!后来笔者改成了unsigned int 类型...原创 2018-02-12 18:37:21 · 610 阅读 · 0 评论 -
算法训练 装箱问题
算法训练 装箱问题 时间限制:1.0s 内存限制:256.0MB 问题描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式 第一行为一个整数,表示箱子容量; 第二行为一个整数,表示有n个物品; 接下来n行,每行一个整数表示这n个...原创 2018-02-26 20:50:00 · 1375 阅读 · 0 评论 -
算法训练 数组查找及替换
思路:给你一组数和一个数b,将它们当中能够整除b的数去除掉,并将去除后剩余的数进行排序,然后将排好的数输出,这里要注意的是如果有ASCII正好在65到90之间的就将它们按照大写字母输出(这里用到了强制类型转换)不多说了上代码:#include#include#include#include#include#include#includeusing namespace std;原创 2018-01-29 21:41:56 · 1002 阅读 · 0 评论