
蓝桥杯
文章平均质量分 55
菜鸟帆
互相交流学习,有什么不对的地方,多多指教
展开
-
蓝桥杯--第七届决赛:旗子换位
棋子换位有n个棋子A,n个棋子B,在棋盘上排成一行。它们中间隔着一个空位,用“.”表示,比如:AAA.BBB现在需要所有的A棋子和B棋子交换位置。移动棋子的规则是:1. A棋子只能往右边移动,B棋子只能往左边移动。2. 每个棋子可以移动到相邻的空位。3. 每个棋子可以跳过相异的一个棋子落入空位(A跳过B或者B跳过A)。AAA.BBB 可以走法:移动A ==> AA.ABBB移动B ==>...原创 2017-04-21 20:55:25 · 2226 阅读 · 3 评论 -
蓝桥杯--基础练习:十六进制转十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner s...原创 2017-04-23 22:53:25 · 359 阅读 · 0 评论 -
蓝桥杯--基础练习:十进制转十六进制
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入包含一个非负整...原创 2017-04-23 22:55:19 · 347 阅读 · 0 评论 -
蓝桥杯--基础练习:十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有...原创 2017-04-24 11:05:22 · 381 阅读 · 0 评论 -
蓝桥杯:杨辉三角形
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出...原创 2017-05-03 20:26:50 · 299 阅读 · 0 评论 -
蓝桥杯--算法练习:表达式计算
问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。输入格式 输入一行,包含一个表达式。输出格式 输出这个表达式的值。样例输入1-2+3*(4-5)样例输出-4数据规模和约定 表达式长度不超过100,表达式运算合法且运算过程都在int内进行。import java.util.LinkedList;import java.util.Scanner;impor...原创 2017-05-17 22:31:23 · 490 阅读 · 0 评论 -
蓝桥杯--算法提高:拿糖果(动态规划)
问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉。 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数。这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖。然后小B就可以接着拿糖。 现在小B希望知道最多可以拿多少糖。输入格式 一个整数N输出格式 最多可以拿多少糖样例输入15样例输出6数据规模和约定 N <= 100000我的思路:用dp做这...原创 2017-05-18 15:36:12 · 1068 阅读 · 0 评论 -
蓝桥杯--算法练习:操作格子(线段树)
问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求区间[x,y]内格子权值和,p...原创 2017-05-21 21:44:28 · 402 阅读 · 0 评论 -
蓝桥杯-算法训练:最大最小公倍数(简单贪心算法)
问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 <= N <= 106。我的思路:当两个数相邻时这两个数互质,且最小公倍数最大。所以在1-N中选三个数 使最小公倍数最大,则肯定是最大的三个数。想到这就好办了,分析一下最大的三个数有多少种情...原创 2017-05-23 16:27:19 · 1971 阅读 · 1 评论 -
蓝桥杯--算法练习:最短路(单源最短路径spfa算法)
问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于10%的数据,n ...原创 2017-05-25 14:22:32 · 1008 阅读 · 0 评论 -
蓝桥杯:报时助手
问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three o'clock”。如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。时和分的读法使用的是英文数字的读法,其中0~20...原创 2017-04-19 10:47:46 · 954 阅读 · 0 评论 -
蓝桥杯:回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入 3 31 2 34...原创 2017-04-19 10:41:02 · 1246 阅读 · 0 评论 -
蓝桥杯:龟兔赛跑预测
问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数...原创 2017-04-19 10:37:00 · 682 阅读 · 0 评论 -
第五届蓝桥杯 java 地宫取宝
X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。 ...原创 2017-03-30 16:19:31 · 1852 阅读 · 1 评论 -
蓝桥杯:2n皇后问题
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数...转载 2017-04-19 10:52:34 · 605 阅读 · 0 评论 -
蓝桥杯:高精度算法
问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位...转载 2017-04-19 10:55:33 · 644 阅读 · 0 评论 -
蓝桥杯:Huffuman树
问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 ...转载 2017-04-19 11:00:11 · 506 阅读 · 0 评论 -
蓝桥杯--基础练习:数列排序
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9import java.util.Scanner;public class Main{...原创 2017-04-23 22:50:30 · 686 阅读 · 0 评论 -
蓝桥杯--入门练习:A+B问题
问题描述输入A、B,输出A+B。说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查。多余的格式检查可能会适得其反,使用你的程序错误。在测试的时候,系统会自动将输入数据输入...原创 2017-04-19 11:33:39 · 372 阅读 · 0 评论 -
蓝桥杯--第七届决赛:路径之谜
路径之谜小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n x n 个方格。【如图1.png】所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n 个靶子)同一个方格只允许经过一次。但不必做完所有的方格。如果只给出靶子上箭的数目,你能...原创 2017-04-23 22:45:18 · 3306 阅读 · 12 评论 -
蓝桥杯--第七届决赛:反幻方
反幻方我国古籍很早就记载着2 9 47 5 36 1 8这是一个三阶幻方。每行每列以及对角线上的数字相加都相等。下面考虑一个相反的问题。可不可以用 1~9 的数字填入九宫格。使得:每行每列每个对角线上的数字和都互不相等呢?这应该能做到。比如:9 1 28 4 37 5 6你的任务是搜索所有的三阶反幻方。并统计出一共有多少种。旋转或镜像算同一种。比如:9 1 28 4 37 5 67 8 95 4 ...原创 2017-04-27 11:16:24 · 2840 阅读 · 0 评论 -
蓝桥杯--第七届决赛:打靶
打靶小明参加X星球的打靶比赛。比赛使用电子感应计分系统。其中有一局,小明得了96分。这局小明共打了6发子弹,没有脱靶。但望远镜看过去,只有3个弹孔。显然,有些子弹准确地穿过了前边的弹孔。不同环数得分是这样设置的:1,2,3,5,10,20,25,50那么小明的6发子弹得分都是多少呢?有哪些可能情况呢?下面的程序解决了这个问题。仔细阅读分析代码,填写划线部分缺失的内容。注意:只填写划线处缺少的内容,...原创 2017-04-27 11:19:58 · 1848 阅读 · 1 评论 -
蓝桥杯--第七届决赛:阶乘位数
阶乘位数9的阶乘等于:362880它的二进制表示为:1011000100110000000这个数字共有19位。请你计算,9999 的阶乘的二进制表示一共有多少位?package 第七届决赛题;import java.math.BigInteger;public class 阶乘位数 { public static void main(String[] args) { BigIntege...原创 2017-04-20 12:33:42 · 2745 阅读 · 3 评论 -
蓝桥杯--第七届决赛:圆圈舞
圆圈舞 春天温暖的阳光照耀着大地,正是草原上的小动物们最快乐的时候。小动物们在草原上开了一个舞会,欢度这美好的时光。舞会上最重要的一个环节就是跳圆舞曲,n只小动物手拉手围成一大圈,随着音乐跳起来。在跳的过程中,小动物们可能会变换队形。它们的变换方式是动物A松开自己右手,动物B松开自己的左手,动物A和B手拉到一起,而它们对应的松开的手(如果有的话)也拉到一起。例如,假设有10只小动物,按顺序围成一圈...原创 2017-05-01 13:56:28 · 2330 阅读 · 8 评论 -
蓝桥杯第六届决赛:分机号
标题:分机号X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位。比如:751,520,321 都满足要求,而,766,918,201 就不符合要求。现在请你计算一下,按照这样的规定,一共有多少个可用的3位分机号码?请直接提交该数字,不要填写任何多余的内容。直接采用暴力搜索public class B_分机号 { public static voi...原创 2017-05-17 12:14:40 · 516 阅读 · 0 评论 -
蓝桥杯第六届决赛:五星填数
标题:五星填数如【图1.png】的五星图案节点填上数字:1~12,除去7和11。要求每条直线上数字和相等。如图就是恰当的填法。请你利用计算机搜索所有可能的填法有多少种。注意:旋转或镜像后相同的算同一种填法。暴力搜索.....public class 五星填数 { public static void main(String[] args) { int count=0; for(int a...原创 2017-05-17 12:16:15 · 488 阅读 · 0 评论 -
篮桥北第六届决赛:显示二叉树
标题:显示二叉树(代码填空)排序二叉树的特征是:某个节点的左子树的所有节点值都不大于本节点值。某个节点的右子树的所有节点值都不小于本节点值。为了能形象地观察二叉树的建立过程,小明写了一段程序来显示出二叉树的结构来。对于上边的测试数据,应该显示出: | /--------------500---\ | |/--200--...原创 2017-05-17 12:23:09 · 469 阅读 · 0 评论 -
蓝桥杯第六届决赛:穿越雷区
标题:穿越雷区X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。例如:A + - + -- + - - +- + + + -+ - + - +B + - + -坦克车只...原创 2017-05-17 12:27:28 · 831 阅读 · 0 评论 -
蓝桥杯第六届决赛:表格计算
标题:表格计算某次无聊中, atm 发现了一个很老的程序。这个程序的功能类似于 Excel ,它对一个表格进行操作。不妨设表格有 n 行,每行有 m 个格子。每个格子的内容可以是一个正整数,也可以是一个公式。公式包括三种:1. SUM(x1,y1:x2,y2) 表示求左上角是第 x1 行第 y1 个格子,右下角是第 x2 行第 y2 个格子这个矩形内所有格子的值的和。2. AVG(x1,y1:x2...原创 2017-05-17 20:13:55 · 632 阅读 · 0 评论 -
蓝桥杯第六届决赛:胡同门牌号
标题:胡同门牌号小明家住在一条胡同里。胡同里的门牌号都是连续的正整数,由于历史原因,最小的号码并不是从1开始排的。有一天小明突然发现了有趣的事情:如果除去小明家不算,胡同里的其它门牌号加起来,刚好是100!并且,小明家的门牌号刚好等于胡同里其它住户的个数!请你根据这些信息,推算小明家的门牌号是多少?请提交该整数,不要填写任何多余的内容或说明性文字。public class A_胡同门牌号 { p...原创 2017-05-23 09:42:02 · 1244 阅读 · 0 评论 -
蓝桥杯第六届决赛:四阶幻方
标题:四阶幻方把1~16的数字填入4x4的方格中,使得行、列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方。四阶幻方可能有很多方案。如果固定左上角为1,请计算一共有多少种方案。比如: 1 2 15 16 12 14 3 5 13 7 10 4 8 11 6 9以及: 1 12 13 8 2 14 7 11 15 3 10 6 16 5 4 9 就可以算...原创 2017-05-24 21:41:34 · 1422 阅读 · 0 评论 -
蓝桥杯--入门练习:圆的面积
问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。说明:在本题中,输入是一个整数,但是输出是一个实数。对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。实数输出的问题如果没有特别说明...原创 2017-04-19 11:28:16 · 391 阅读 · 0 评论 -
蓝桥杯--入门练习 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取...原创 2017-04-19 11:21:01 · 356 阅读 · 0 评论 -
蓝桥杯--入门练习:序列求和
问题描述求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低。样例输出5050数据规模与约定1 &l...原创 2017-04-19 11:31:54 · 328 阅读 · 0 评论 -
蓝桥杯第九届省赛:第九题 全球变暖
标题:全球变暖你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右...原创 2018-04-04 11:10:35 · 2563 阅读 · 1 评论 -
蓝桥杯第九届省赛:第八题 日志统计
标题:日志统计小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id 表示在ts时刻编号id的帖子收到一个"赞"。 现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。 具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于K...原创 2018-04-04 11:08:17 · 832 阅读 · 1 评论 -
蓝桥杯:梅森素数
梅森素数 如果一个数字的所有真因子之和等于自身,则称它为“完全数”或“完美数” 例如:6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 早在公元前300多年,欧几里得就给出了判定完全数的定理: 若 2^n - 1 是素数,则 2^(n-1) * (2^n - 1) 是完全数。原创 2017-05-04 16:12:06 · 783 阅读 · 0 评论 -
蓝桥杯:带分数
带分数 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N程序输出该数原创 2017-05-04 12:05:04 · 280 阅读 · 0 评论 -
蓝桥杯:幸运数
幸运数 幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。 首先从1开始写出自然数1,2,3,4,5,6,.... 1 就是第一个幸运数。 我们从2这个数开始。把所有序号能被2整除的项删除,变为: 1 _ 3 _ 5 _ 7 _ 9 .... 把它们缩紧,重新记序,为: 1 3 5 7 9原创 2017-05-03 22:35:32 · 461 阅读 · 0 评论 -
蓝桥杯java第八届B组:最大公共子串
最大公共子串最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:"abcdkkk" 和 "baabcdadabc",可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。原创 2017-05-11 11:58:45 · 2145 阅读 · 0 评论