![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
文章平均质量分 66
obession
这个作者很懒,什么都没留下…
展开
-
算法训练 表达式计算 中后缀表达
问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。输入格式 输入一行,包含一个表达式。输出格式 输出这个表达式的值。样例输入1-2+3*(4-5)样例输出-4数据规模和约定 表达式长度不超过100,表达式运算合法且运算过程都在int内进行。这道题要学习 中缀表达式 --> 后缀表达式 1-2+3*原创 2017-03-19 11:27:11 · 1032 阅读 · 0 评论 -
蓝桥杯-小数运算,保留小数点
java 中默认小数声明是double; 如:float x = 1.0;报错;需要写:float x = 1.0f;* float表示单精度浮点数在机内占4个字节,用32位二进制描述* double表示双精度浮点数在机内占8个字节,用64位二进制描述* 对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double原创 2017-04-01 16:15:25 · 902 阅读 · 0 评论 -
HashSet集合简单使用
给你两个集合,计算其并集,即 {A}+{B}\{A\} + \{B\}{A}+{B}。注:{A}+{B}\{A\} + \{B\}{A}+{B} 中不允许出现重复元素,但是 {A}\{A\}{A} 与 {B}\{B\}{B} 之间可能存在相同元素。输入格式输入数据分为三行,第一行有两个数字 n,m(0n,m(0输出格式输出一行数据,表示合原创 2017-03-25 21:39:06 · 726 阅读 · 0 评论 -
给一堆数均匀分成N份--等边三角形/任务分配
题目一:等边三角形手上有一些小木棍,它们长短不一,想用这些木棍拼出一个等边三角形,并且每根木棍都要用到。 例如,手上有长度为 11,2,33,33 的4根木棍,他可以让长度为11,2 的木棍组成一条边,另外 222跟分别组成222条边,拼成一个边长为3 的等边三角形。首先输入一个整数 n(3≤n≤20)表示木棍数量,接下来输入 n 根木棍的长度 pi(1≤pi≤10000原创 2017-03-31 16:54:18 · 933 阅读 · 0 评论 -
N中类型每种M样--不同的钱数--牌型种数--抽签
一共有4张2元,3张3元,2张5元,一共能凑出多少种不同的钱数,不包括0元,并且三张2元和2张3元钱数一样。import java.util.HashSet;public class 不同的钱数 { public static void main(String[] args) { // TODO Auto-generated method stub HashSet has原创 2017-03-31 13:50:00 · 645 阅读 · 0 评论 -
利用二进制枚举
用二进制的一位表示集合对应某一元素的选取状态,1 表示选取,0 表示未选取;----------------------------------------------------------------------------------------------------------先介绍位运算:位运算是对二进制的每一位进行计算,所以每一位只有 00 或 11两种可能三种常用的原创 2017-03-31 11:08:23 · 1288 阅读 · 0 评论 -
蓝桥杯模拟赛--康托展开式--全排列(不重复数据)
题目是这样的:标题: 排列序数X星系的某次考古活动发现了史前智能痕迹。这是一些用来计数的符号,经过分析它的计数规律如下:(为了表示方便,我们把这些奇怪的符号用a~q代替)abcdefghijklmnopq 表示0abcdefghijklmnoqp 表示1abcdefghijklmnpoq 表示2abcdefghijklmnpqo 表示3abcdefghijk原创 2017-03-23 13:33:05 · 965 阅读 · 0 评论 -
广度优先搜索--迷宫最短路径--队列
不同于深度优先遍历,先找一个子节点,再找子节点的子节点...广度优先遍历会挨着子节点遍历,第一层的子节点遍历完了,才会遍历第二层;如图: bfs(起点){ 起点加入队列; while (队列!=空) { 得到队首x; 删除队首; for(遍历X的子节点){ 子节点加入队列尾; } } }所以说,用广度优先 先访问原创 2017-03-28 23:10:41 · 1192 阅读 · 0 评论 -
全排列算法
做了第三题-搭积木和 第六题-寒假作业,都用了全排列。用dfs写全排列:package test;/*比如从1-9,思路:让a[1]-a[9]每个数从1-9遍历,用visit[10] *记录,如果用过了,置为false.*/public class Main { static int count = 0; public static void main(原创 2017-02-07 17:35:04 · 468 阅读 · 0 评论 -
第五届校内选拔javaC组-第七道题n级台阶
有n级台阶。从地面(第0级)出发,首先连续的上台阶,上到不超过第n级的某一个位置后再连续的下台阶,直到回到地面。若每次上下台阶只允许走1级或2级,请问可能的上下台阶的方案数是多少?特别地,在0级站着不动也算一种方案。数据格式:输入一行包含两个正整数n和m。输出一个整数,表示n级台阶有多少种合法的走楼梯方案,答案对m取余。例如:输入:2 10007程序应该输出原创 2017-02-27 16:09:56 · 586 阅读 · 0 评论 -
第五届校内选拔javaC组-第六题位单位分数之和
形如:1/a 的分数称为单位分数。可以把1分解为若干个互不相同的单位分数之和。例如:1 = 1/2 + 1/3 + 1/9 + 1/181 = 1/2 + 1/3 + 1/10 + 1/151 = 1/3 + 1/5 + 1/7 + 1/9 + 1/11 + 1/15 + 1/35 + 1/45 + 1/231等等,类似这样的分解无穷无尽。我们增加一个约束条件:原创 2017-02-27 15:07:18 · 304 阅读 · 0 评论 -
第五届校内选拔javaC组-第五题位平方和
把一个整数的每个数位都平方后求和,又得到一个整数,我们称这个整数为:位平方和。对新得到的整数仍然可以继续这一运算过程。比如,给定整数为4,则一系列的运算结果为:16,37,58,89,....本题的要求是,已知一个整数x,求第n步的运算结果。数据格式要求:输入,两个整数x n,中间以空格分开。表示求x的第n步位平方和。其中,x,n都大于0,且小于10原创 2017-02-27 14:20:49 · 512 阅读 · 0 评论 -
第五届校内选拔javaC组-第四题过大年
有如下的加法算式。其中每个汉字代表一个数字。(如存在对齐问题,可参见【图1.png】)年package 第五届校内选拔javaC组;public class 第三题过大年 { public static void main(String[] args) { // TODO Auto-generated method stub int a[] = new int[7];原创 2017-02-27 14:04:07 · 220 阅读 · 0 评论 -
第五届校内选拔javaC组-第三道题回文素数
10301是个5位的素数。它有个特点,把数字倒过来还是它本身,具有这样特征的素数,我们称之为:回文素数。105011060111311这些都是5位的回文素数。请你计算一下,像这样的5位数的回文素数,一共有多少个?请填写这个表示个数的整数,注意不要写任何其它多余的内容,比如说明或解释文字,也不要列出所有的回文素数。做了这道题 还是觉得应该去了解效率原创 2017-02-27 13:52:54 · 309 阅读 · 0 评论 -
第五届省赛javaB组- 饮料换购
饮料换购乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量(0输出:一个整数,表示实际得到的饮料数例如:用户输入:100程序应该输原创 2017-03-05 20:13:16 · 898 阅读 · 0 评论 -
第五届省赛javaB组- 九数组分数
九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。package 第五届省赛javaB组;public class 九数组分数{ public static void test(int[] x) { int a = x[0]*1000 + x[1]*100 + x[2]*10原创 2017-03-05 20:04:16 · 441 阅读 · 0 评论 -
剪邮票-蓝桥杯第七届javaA组--12元素选5元素不重复
如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。/*思路: 感觉还是先排列,从12个邮票中选5个出来, * 然后对每个邮票搜索,同一行,同一列,则表示连接到,如果连接到就定义原创 2017-04-02 11:00:41 · 541 阅读 · 0 评论 -
计蒜客模拟赛5-补全等式;dfs全排列+剪枝
下图中,每个方块代表 1…13 中的某一个数字,但不重复。例如:1×2+9×7=13×510×8+12×3=11×4---这里发现+,-都不影响答案;只要有任意一个方块代表的数字不同,就算两种不同的方案。请你计算,一共有多少种不同的方案。public class 补全等式 { private static int count; public static原创 2017-04-02 11:17:33 · 497 阅读 · 0 评论 -
计蒜客模拟赛5-礼物盒
小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图。小y还有 36个礼物盒,他们的深度都为 1cm。他们对应的宽度和高度如下,单位(cm)。11 38 1211 1716 131 142 86 1010 1817 1110 156 145 62 1919 104 97 95 1原创 2017-04-02 20:54:05 · 836 阅读 · 3 评论 -
用Calendar处理日期类问题
import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Scanner;public class 恋爱纪念日 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner i原创 2017-03-30 21:11:08 · 363 阅读 · 1 评论 -
HashMap简单使用
蒜头君来蒜厂面试的时候,曾经遇到这样一个面试题:给定 nnn 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。当时可算是给蒜头君难住了。现在蒜头君来考考你。输入格式第一行输入一个整数 n(1≤n≤100000)n(1 \le n \le 100000)n(1≤n≤100000),接下来一行输入 nnn 个 int 范围内的整数。输出原创 2017-03-25 21:44:41 · 479 阅读 · 0 评论 -
深度优先搜索--迷宫可能路径--栈
深度优先搜索(depth-first-search)简称 dfs,dfs 按照深度优先的方式搜索,通俗的说就是一条路走到黑。dfs 是一种穷举的手段,实际上就是把所有的可行方案列举出来,不断去试探,直到找到问题的解。dfs 是一种搜索算法,dfs 一般的实现方法是借助递归。dfs的一般写法:void dfs(int deep) { if (到达边界) { // 做一些处原创 2017-03-31 11:26:33 · 667 阅读 · 0 评论 -
蓝桥杯模拟赛--风险度量--并查集
X星系的的防卫体系包含 n 个空间站。这 n 个空间站间有 m 条通信链路,构成通信网。两个空间站间可能直接通信,也可能通过其它空间站中转。对于两个站点x和y (x != y), 如果能找到一个站点z,使得:当z被破坏后,x和y无法通信,则称z为关于x,y的关键站点。显然,对于给定的两个站点,关于它们的关键点的个数越多,通信风险越大。你的任务是:已知网络结构,求原创 2017-04-04 16:16:30 · 504 阅读 · 0 评论 -
蓝桥杯-和并石子--区间DP
问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数。求把所有石子合并成一堆的最小花费。输入格式 输入第一行包含一个整数n,表示石子的堆数。 接下来一行,包含n个整数,按顺序给出每堆石子的大小 。输出格式 输出一个整数,表示合并的最小花费。样例输入51 2 3 4 5样原创 2017-04-05 17:10:34 · 422 阅读 · 0 评论 -
蓝桥杯-算法提高-队列操作
问题描述 队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。输入格式 第一行一个数字N。 下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。输出格式 若干行每行显示一个2或3命令的输出结果。注意:2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。样例输入原创 2017-04-04 22:04:24 · 530 阅读 · 0 评论 -
计蒜客模拟题5-引爆炸弹--并查集
在一个 n×m 的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。现在为了引爆地图上的所有炸弹,需要手动引爆其中一些炸弹,为了把危险程度降到最低,请算出最少手动引爆多少个炸弹可以把地图上的所有炸弹引爆。输入格式第一行输两个整数 n, m,用空格隔开。接下来 n 行,每行输入一个长度为原创 2017-04-04 21:07:51 · 575 阅读 · 0 评论 -
蓝桥杯模拟赛--滑动解锁
题目:滑动解锁滑动解锁是智能手机一项常用的功能。你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点。这些划过的点所组成的有向折线,如果与预设的折线在图案、方向上都一致,那么手机将解锁。所谓两个点“相邻”:当且仅当以这两个点为端点的线段上不存在尚未经过的点。此外,许多手机都约定:这条折线还需要至少经过4个点。为了描述方便,我们给这9个点从上原创 2017-04-04 09:48:23 · 574 阅读 · 0 评论 -
蓝桥杯模拟赛-还款计算
标题: 还款计算银行贷款的等额本息还款方法是:每月还固定的金额,在约定的期数内正好还完(最后一个月可能会有微小的零头出入)。比如说小明在银行贷款1万元。贷款年化利率为5%,贷款期限为24个月。则银行会在每个月进行结算:结算方法是:计算本金在本月产生的利息: 本金 x (年利率/12)则本月本金结余为:本金 + 利息 - 每月固定还款额计算结果会四舍五入到“分”。原创 2017-04-03 15:56:28 · 496 阅读 · 0 评论 -
蓝桥杯模拟赛--字符串比较
标题:字符串比较我们需要一个新的字符串比较函数compare(s1, s2).对这个函数要求是:1. 它返回一个整数,表示比较的结果。2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。3. 结果的绝对值表示:在第几个字母处发现了两个串不等。下面是代码实现。对题面的数据,结果为:-325仔细阅读源程序,填写划线位置缺少的代码。原创 2017-04-03 15:00:31 · 446 阅读 · 0 评论 -
递归
题目一:递归求最长子序列一个串的子串是指该串的一个连续的局部。如果不要求连续,则可称为它的子序列。比如对串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。特别地,一个串本身,以及空串也是它的子序列。对两个串而言,可以有许多的共同的子序列,我们关心的是:它们所共同拥有的长度最大的子序列是多长。以下代码实现了这个问题的求解。请填写划线部分缺失的代码。原创 2017-04-01 20:31:38 · 219 阅读 · 0 评论 -
蓝桥杯模拟赛-猜算式
题目:猜算式你一定还记得小学学习过的乘法计算过程,比如:273x 15------1365273------4095请你观察如下的乘法算式***x ***--------*********--------*****星号代表某位数字,注意这些星号中,0~9中的每个数字都恰好用了2次。(如因字体而产生对原创 2017-04-03 11:12:51 · 482 阅读 · 0 评论 -
蓝桥杯模拟赛-算年龄
标题:算年龄英国数学家德摩根出生于19世纪初叶(即18xx年)。他年少时便很有才华。一次有人问他的年龄,他回答说:“到了x的平方那年,我刚好是x岁”。请你计算一下,德摩根到底出生在哪一年。题中的年龄指的是周岁。请填写表示他出生年份的四位数字,不要填写任何多余内容。public class 第一题算年龄 { public static void m原创 2017-04-03 10:53:57 · 844 阅读 · 0 评论 -
蓝桥杯--DP-完全背包
完全背包-背包体积为m,有n种宝石,可以取无限次,每个宝石的体积是Volume[i],价值是Value[i];* 问:最大可以带走多大价值的宝石?转:http://blog.csdn.net/wumuzi520/article/details/7014830转载 2017-04-03 10:34:46 · 571 阅读 · 0 评论 -
蓝桥杯-DP入门1
动态规划--并不是特定的算法,是一种思想;通常需要整理出一个递推式,如:f(i)=g(i-1)+g(i-2),每一个i称为一个状态,每个状态只跟前面的状态有关系;跟高中学的递推式是一样的吧。。题目一:如这样的三角形:第一行n为行数;接下来三行为每层三角形的数字排列;规则是:从第一层往下 每次可以往左或者往右,输出经历点数字和最大的那个;输出 27399原创 2017-04-03 09:28:21 · 856 阅读 · 0 评论 -
第五届省赛javaB组- 三羊献瑞
三羊献瑞观察下面的加法算式:祥 瑞 生 辉+ 三 羊 献 瑞-------------------三 羊 生 瑞 气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。package 第五届省赛javaB组;publi原创 2017-03-05 19:55:51 · 476 阅读 · 0 评论 -
第五届省赛javaB组- 立方变自身
立方变自身观察下面的现象,某个数字的立方,按位累加仍然等于自身。1^3 = 1 8^3 = 512 5+1+2=817^3 = 4913 4+9+1+3=17...请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?请填写该数字,不要填写任何多余的内容或说明性的文字。package 第五届省赛javaB组;public class 立方变自身原创 2017-03-05 19:54:44 · 339 阅读 · 0 评论 -
蓝桥杯-第七届省赛javaC组- 骰子游戏
骰子游戏我们来玩一个游戏。同时掷出3个普通骰子(6个面上的数字分别是1~6)。如果其中一个骰子上的数字等于另外两个的和,你就赢了。下面的程序计算出你能获胜的精确概率(以既约分数表示)public class Main{public static int gcd(int a, int b){if(b==0) return a;return gc原创 2017-02-08 21:15:45 · 1479 阅读 · 0 评论 -
蓝桥杯-第七届省赛javaC组- 平方怪圈
平方怪圈如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈。请写出这个循环圈中最大的那个数字。请填写该最大数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。提取每个整数每位的算法:while原创 2017-02-08 20:58:50 · 3075 阅读 · 2 评论 -
蓝桥杯-第七届省赛javaC组- 有奖猜谜
有奖猜谜小明很喜欢猜谜语。最近,他被邀请参加了X星球的猜谜活动。每位选手开始的时候都被发给777个电子币。规则是:猜对了,手里的电子币数目翻倍,猜错了,扣除555个电子币, 扣完为止。小明一共猜了15条谜语。战果为:vxvxvxvxvxvxvvx其中v表示猜对了,x表示猜错了。请你计算一下,小明最后手里的电子币数目是多少。请填写表示最后电原创 2017-02-08 20:41:10 · 2507 阅读 · 3 评论 -
蓝桥杯-第七届省赛javaB组- 四平方和
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 并原创 2017-02-08 19:34:27 · 2131 阅读 · 0 评论