备战蓝桥杯
文章平均质量分 63
介绍蓝桥杯相关内容包含竞赛简介,历年题目分析,相关算法总结。
韩跳跳、
这个作者很懒,什么都没留下…
展开
-
Java格式化输出(包括对printf,print,println,format等的介绍)
目录Java控制台输出1.使用System.out.write方法输出2 使用System.out.println方法输出3 使用System.out.print方法输出4 System.out.printf格式化输出详细介绍Java控制台输出1.使用System.out.write方法输出向控制台输出信息可以用输出流的write方法只是使用上没有print和println那么方便。实际上print和println方法也是对write的封装最终也是调用write向控制台写出的数据。使用write时原创 2022-04-20 23:49:58 · 23451 阅读 · 7 评论 -
每天一道算法题-4的幂【备战蓝桥】2022/3/27
目录题目描述思路方法一 暴力代码方法二 打表代码方法三 位运算代码题目描述原题链接:4的幂思路方法一 暴力1、从头开始计算,每次乘以4,直到变量的值大于等于4,2、如果等于4返回true,否则返回false;显然超时了…代码class Solution { public boolean isPowerOfFour(int n) { if(n<=0) return false; int i=1; while(i<n){原创 2022-03-31 11:38:52 · 302 阅读 · 0 评论 -
每天一道算法题-2的幂【备战蓝桥】2022/3/26
2的幂【备战蓝桥】2022/3/24思路方法一:代码:方法二:代码:原题链接:2的幂思路本题难度较低,但会引入位运算方法一:如果这个数小于等于0,直接返回false如果这个数是偶数,除以2;一直循环,直到这个数变成奇数检查这个数最后是不是1,如果是1说明这个数原来是2的幂,如果不是说明不是还有类似的方法,如果这个数小于等于0,直接返回false给1乘以2,循环,直到结果大于或者等于n若等于,说明n是2的幂,若大于说明不是这俩种方法一个做的是除法,一个做的是乘法代码:cl原创 2022-03-30 17:58:34 · 233 阅读 · 0 评论 -
每天一道算法题 A-B【备战蓝桥】2022/3/25
每天一道算法题 A-B【备战蓝桥】2022/3/25题目描述思路方法一方法二代码原题链接:A-B题目描述思路方法一双重循环,暴力求解import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner scan=new Scanner(System.in); String A= scan.nextLine(); Str原创 2022-03-29 23:59:23 · 594 阅读 · 2 评论 -
每天一道算法题-它是正方形吗【备战蓝桥】2022/3/24
每天一道算法题-它是正方形吗【备战蓝桥】2022/3/24题目描述思路方法一:代码:方法二:代码:原题链接:它是正方形吗题目描述思路难度不大,但以下进行了比较深的分析,有助于解决其它同类型的题目方法一:枚举所有排列,共A44=24种情况,对每种情况,先检测它各边是否相等,若都相等,再进一步检测对角线是否相等,若相等则是正方形。补充:俩点间距离公式计算边长,且实际上是使用边长的平方来比较的代码:import java.util.Scanner;public class Main{原创 2022-03-28 21:18:25 · 230 阅读 · 0 评论 -
每天一道算法题-打印蛋糕【备战蓝桥】2022/3/23
每天一道算法题-打印蛋糕【备战蓝桥】2022/3/27题目描述思路代码实现原题链接:打印蛋糕题目描述思路这个题比较简单,但刷题应力求把简单题刷精,在简单题中找到难题的影子。使用集合接收多组数据利用每组数据生成对应层数的“蛋糕”生成时注意每层蛋糕中,层数、字符数目、空格数目的对应关系,即可轻松通过注意:不要输出多余的空格,如每行字符后是没有空格的,否则答案不合法。有其它问题可以在评论区交流。代码实现import java.util.ArrayList;import java.原创 2022-03-27 20:46:37 · 272 阅读 · 0 评论 -
每天一道算法题-打印沙漏【备战蓝桥】2022/3/22
每天一道算法题-打印沙漏【备战蓝桥】2022/3/27题目描述思路代码实现原题链接:打印沙漏题目描述思路这个题比较简单,但刷题应力求把简单题刷精,在简单题中找到难题的影子。接收数据包括字符数目和字符;java接收字符可以通过接受下一个字符串的第一个字符实现,即:char ch=scan.next().charAt(0)第一步要确定在给定的字符数目下,我们能画出的最大沙漏需要多少个字符,一个for循环搞定,循环结束后一定检查一下得到的结果是不是想要的值for循环画出漏斗。第二部分中得到了i原创 2022-03-27 13:46:09 · 737 阅读 · 0 评论 -
每天一道算法题——单词处理器(2022/3/21)
原题链接:单词处理器⭐⭐题目描述:⭐⭐输入输出格式:⭐⭐代码import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int k=scan.nextInt(); String[] list=new原创 2022-03-21 21:09:40 · 195 阅读 · 0 评论 -
2019-2021届蓝桥杯——java真题集锦
⭐个人主页:一只快乐的猪猪????????写作风格:简洁明了,只写干货????✍写作领域:蓝桥真题,力扣题,刷题技巧 ????????支持猪猪:点赞+收藏+关注????蓝桥杯简单介绍蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心举办的全国性IT学科赛事。共有北京大学、清华大学、上海交通大学等全国1200余所高校参赛,累计参赛人数超过40万人。2020年,蓝桥杯大赛被列入中国高等教育学会发布的“全国普通高校学科竞赛排行榜”,是高校教育教学改革和创新人才培养的重要竞赛项目..原创 2022-03-13 18:01:34 · 2451 阅读 · 2 评论 -
广度优先搜索专题(bfs)
⭐个人主页:一只快乐的猪猪🐷🌙写作风格:简洁明了,只写干货🍚✍写作领域:蓝桥,力扣,刷题技巧 👌😍支持猪猪:点赞+收藏+关注😝BFS1、按照层次顺序一层一层的往下搜索(不过通常不用搜索完所有的情况就可以得到答案)2、层次遍历需要用到队列模板:void BFS(int s){ Deque<Integer> que=new LinkedList<>(); que.offer(s); while(!q.empty()) { .原创 2022-03-07 20:14:42 · 178 阅读 · 0 评论 -
蓝桥杯2017年第八届真题-青蛙跳杯子
题目描述询问至少需要几步,才能跳成另一个目标局面?样例输入:⭐WWBBWWBB⭐输出:2解题思路:1.BFS遍历所有状态,储存状态及其对应的步数;2.发现和结果吻合则退出。注意事项:1.使用字典存储某一状态和对应步数,便于查找重复状态,降低时间复杂度;2.不要使用列表存储状态,因为列表不能作为字典键值,而应用字符串;3.“跳杯”的过程可以用列表实现。import java.util.*;public class Main { public static原创 2022-03-07 17:54:07 · 206 阅读 · 0 评论 -
蓝桥杯2019年真题演练——4、 迷宫(JavaA组)
题目描述迷宫:01010101001011001001010110010110100100001000101010000010001000001010100100001000000010011001101001010111101101001000100000110100101110001100000001000001000000001010100011010000101000001010101011001011000111110000001010000100101000101000001011原创 2022-03-07 14:05:02 · 580 阅读 · 0 评论 -
寻找矩阵中“块“的个数(BFS)
题目描述给出一个mxn的矩阵,矩阵中的元素为0或1。称位置(x,y)与其上下左右四个位置(x,y+1)、(x,y-1)、(x+1,y)、(x-1,y)是相邻的。如果矩阵中有若干个1是相邻的(不必两两相邻),那么称这些1构成了一个“块”。求给定的矩阵中“块”的个数。【输入样例】6 70 1 1 1 0 0 10 0 1 0 0 0 00 0 0 0 1 0 00 0 0 1 1 1 01 1 1 0 1 0 01 1 1 1 0 0 0【输出样例】4解题思路⭐⭐用广度优先搜索来遍历一原创 2022-03-07 09:39:09 · 343 阅读 · 0 评论 -
蓝桥杯2019年真题演练——2、 数列求值(JavaA组)
题目描述题目解析⭐⭐这个题类似于斐波那契额数列,只不过这里要相加的是前三项的和。在前边的你还在靠玄学写递归吗?中就见到了斐波那契数列的递归求法,但是这个题,首先排除递归!,复杂度太高了,结果根本出不来,所以只能考虑迭代。⭐⭐提示千位一定不是0,这就减轻了一定的工作量,不然当把后四位数作为一个整数输出时,如果首位是0,就自动省略了。解题思路🌙...原创 2022-02-27 14:38:15 · 271 阅读 · 0 评论 -
蓝桥杯2019年真题演练——1、 平方和(JavaA组)
题目描述答案:2658417853题目解析⭐⭐题目比较简单,解法有很多,不过有个要注意的,最后的结果很大,int是装不下的。代码contains(String s) 判断当前字符串中是否包含字串spublic class Main { public static void main(String[] args) { long sum=0; for(int i=1;i<=2019;i++) { String s=""+i;//将数字转化为字符串 if(s.conta原创 2022-02-27 14:16:44 · 265 阅读 · 0 评论 -
蓝桥杯2021年真题演练——7、 左hai子右兄弟(JavaA组)
左孩子右兄弟可以这样做:原创 2022-02-26 21:44:20 · 1422 阅读 · 3 评论 -
蓝桥杯2020年真题演练——8、字串分值(JavaA组)
上一题:蓝桥杯2020年真题演练——7、回文日期(JavaA组)题目描述解析方法一:暴力枚举⭐⭐对于这道题,最直观的想法就是双重循环枚举所有字串,然后依次计算字串的f(“字串”),而f的计算也不困难,创建一个数组统计字符串中各字母出现的次数,再统计次数为1的字母的个数即是f的值。这种方法思路简单,容易实现,但有一个致命缺陷,时间复杂度太大!,根本无法通过所有的评测用例,甚至一半都通不过,不过没有别的办法的话,这种方法也能得一些分。代码实现双重循环枚举字串,这里要注意我们不需要真的new一个原创 2022-02-18 23:45:14 · 540 阅读 · 0 评论 -
蓝桥杯2020年真题演练——7、回文日期(JavaA组)
上一题:蓝桥杯2020年真题演练——6、成绩分析(JavaA组)题目描述解析⭐⭐依次从输入的日期开始遍历直到99999999(8个9),当然既然已知这串数字代表日期,那么遍历到99991231就可以了,日期最大就是1231嘛,不过这些都是些无关紧要的,影响不大,不需要把精力放到这里。对每一个遍历对象首先检查其日期合法性,如果它是一个日期,再进一步检查它是否是回文日期,是否是ABABBABA日期。注意:我们在遍历的时候要从输入日期的下一个日期开始(因为题目要求的是下一个回文日期)⭐⭐代码中频繁用到原创 2022-02-17 23:00:56 · 7860 阅读 · 0 评论 -
蓝桥杯2020年真题演练——6、成绩分析(JavaA组)
题目描述题目解析⭐⭐这个题太简单了,直接上代码了。不过要注意保留俩位小数关于java中printf的具体规范可以看这里:Java中printf的用法总结代码public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int min=100;原创 2022-02-16 18:36:28 · 440 阅读 · 0 评论 -
蓝桥杯2020年真题演练——4、七段码(JavaA组)
上一题:蓝桥杯2020年真题演练——3、蛇形填数(JavaA组)题目描述题目解析⭐⭐把七个发光二极管看作七个顶点,是否相邻视作是否有边,则该问题就转化为一个和图相关的问题了。转化结果如图:⭐则题中所要求的发光管必须连成一片对应在图中就是相关的顶点必须是连通的,这样我们就可以通过图的搜索来检查发光灯管是否连成一片。⭐另外七个灯管一共有27种不同的情况,依次枚举检查是否符合条件即可。源代码import java.util.*;public class Main { private原创 2022-02-16 18:23:32 · 844 阅读 · 2 评论 -
蓝桥杯2020年真题演练——3、蛇形填数(JavaA组)
题目描述答案: 761题目解析⭐⭐这个题官方给出的答案是通过模拟这个蛇形矩阵来得到答案,这是一种方法,但比较考验编程能力和细心程度,比较容易出错,何况是在赛场上,这种方式太过浪费时间。实际上简单分析一下就可以找到其中的规律,最后完全可以把它当作一个高中的简单数列问题,一会儿就算出答案了。当然后边我也会给出模拟矩阵的代码。????先看一下简单解法⭐我们把这个三角形旋转一下⭐原题中所说的第i行第i列其实就是1,5,13……这些数,对应的旋转后的这个图中就是第1,3,5,7…n行,可得出:n=2i原创 2022-02-15 13:52:53 · 465 阅读 · 0 评论 -
蓝桥杯2020年真题演练——2、既约分数(JavaA组)
题目描述答案:2481215题目解析⭐⭐又是暴力枚举,直接双重循环,i,j分别作为分子和分母,把所有的情况都检查一遍,符合条件的进行统计就可以了。所以关键是如何判断它是一个既约分数,这里用到辗转相除法求最大公约数,如果分子分母的最大公约数是1,它就是既约分数,否则不是。代码解析public class Main { public static void main(String[] args) { int count=0; for (int i = 1; i原创 2022-02-15 13:09:55 · 251 阅读 · 0 评论 -
蓝桥杯2020年真题演练——1、门牌制作(JavaA组)
蓝桥杯2020年真题演练——1、门牌制作(JavaA组)原创 2022-02-15 12:57:29 · 544 阅读 · 0 评论 -
蓝桥杯2021年真题演练——6、最小砝码(JavaA组)
题目描述题目解析⭐⭐这个题其实就是所谓的德•梅齐里亚克的砝码问题,解决这个题需要用到平衡三进制的相关知识。????在看这个问题之前先看一个简化版的问题:对原题目进行限制,让砝码只能放到物品的对侧而不是俩边都放,问至少需要多少个砝码?⭐思路:将题目转化为数学问题也就是:给一个整数N,要求能够用最少的一套数字(对应一套砝码)通过加法(也就是放到物品对侧)得到1~N的所有数字。这一套数字(砝码)每一个只能用一次,也可以不用。例如:给一个整数7,我们选的一套砝码是{1,2,4}因为:1=1;2=2;原创 2022-02-11 16:16:30 · 5118 阅读 · 4 评论 -
蓝桥杯2021年真题演练——4、路径(JavaA组)
题目大意答案:10266837解题思路⭐⭐数据结构学好了,这个题就没有任何问题,否则还是直接放弃吧????首先要把这个图按规则存储起来,我们一般都用邻接矩阵,而且因为是无向图,所以这个矩阵是对称的。????过程中还涉及到求最小公倍数,这里我们需要知道:对于俩个数n和m,他们的最小公倍数是lcm,最大公约数是gcd,则有:n×m=gcd×lcm 所以可以先通过辗转相除法求最大公约数,进一步求最小公倍数。????图存好后可以直接使用迪杰斯特拉算法或者佛洛依德算法求最短路径代码解析⭐迪杰斯特拉算原创 2022-02-10 18:59:05 · 883 阅读 · 0 评论 -
蓝桥杯2021年真题演练——3、货物摆放(JavaA组)
题目大意简单点描述就是给定一个 n,n=2021041820210418,问满足 (a,b,c)=n的(a,b,c)组合有多少种。答案:2430解题思路⭐⭐首先要明确a,b,c这三个数一定都是n的因数,因为a×b×c=n,把b×c看作一个数即a×(b×c)=n,那么a就是n的一个因数,同理b和c也是n的因数。那么只要求出n的所有因数,然后依次枚举(a,b,c)即可。????不要忽略n是long型,设置循环变量时也要考虑需不需要用long。????着重考虑一下如何求n的所有因数,由于n数字过大原创 2022-02-06 13:35:47 · 4306 阅读 · 2 评论 -
蓝桥杯2021年真题演练——2、直线(JavaA组)
蓝桥杯2021年真题演练——1、直线(JavaA组)题目大意本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。⭐⭐在平面直角坐标系中,两点可以确定一条直线。⭐⭐给定平面上 20 × 21 个整点 {(x, y)|0 ≤ x < 20, 0 ≤ y < 21, x ∈ Z, y ∈ Z},即横坐标是 0到 19 (包含 0 和 19) 之间的整数、纵坐标是 0 到 20 (包含 0 和 20) 之 间的整数的点。请问这些点一共确定了多少条不同原创 2022-02-06 13:03:31 · 6604 阅读 · 6 评论 -
蓝桥杯2021年真题演练——1、相乘(JavaA组)
蓝桥杯2021年真题演练——1、相乘(JavaA组)题目大意本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。⭐⭐求 1 到 1000000007 中是否存在数乘 2021 除以 1000000007 余 999999999 的数。若有输出这个数,没有则输出0。解题思路这题考验最基础的循环,直接从 11 到 1000000007 跑个循环,对每个数乘 2021 并且判断余数是否是999999999 即可。代码public class Main { pub原创 2022-01-25 23:13:38 · 936 阅读 · 0 评论 -
2020第十一届Java 组蓝桥杯省赛真题——排序
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。在冒泡排序中,每次只能交换相邻的两个元素。小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符, 则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。例如,对于字符串 lanlan 排序,只需要 11 次交换。对于字符串 qiaoqiao 排序,总共需要 44 次交换。小蓝找到了很多字符串试图排序,他恰巧碰到一个字符串,需要 100100 次交 .原创 2021-12-23 18:17:54 · 1187 阅读 · 0 评论 -
2020第十一届Java 组蓝桥杯省赛真题——成绩统计
题目描述小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。输入描述输入的第一行包含一个整数 n (1≤n≤104),表示考试人数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。输出描述输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。.原创 2021-12-18 16:58:14 · 550 阅读 · 0 评论