【蓝桥真题6】三十块的蓝桥省赛模拟真题,做的大一都直呼上当(文末PDF原题)(上)

简介: 【蓝桥真题6】三十块的蓝桥省赛模拟真题,做的大一都直呼上当(文末PDF原题)

🍺1.A的个数


以下是一个 25 行 25 列的字母矩阵,全部由字母 A 和 B 组成。

AAAAAAABABBAABABABAAAAAAA

ABBBBBABBAABBBBBABABBBBBA

ABAAABABBBABAABBBBABAAABA

ABAAABABBBBBAABAABABAAABA

ABAAABABBABABBABABABAAABA

ABBBBBABBBABAABBBBABBBBBA

AAAAAAABABABABABABAAAAAAA

BBBBBBBBABAABABBBBBBBBBBB

AABAABABBAAABBAAABABBBBBA

ABBABABBBABBAAAABBBBAAAAB

BBBBAAABABAABABAABBBAABBA

BBAABABABAAAABBBAABBAAAAA

ABABBBABAABAABABABABBBBBA

AAAABBBBBABBBBAAABBBABBAB

AABAABAAABAAABAABABABAAAA

ABBBBBBBBABABBBBABAABBABA

ABBBAAABAAABBBAAAAAAABAAB

BBBBBBBBABBAAABAABBBABBAB

AAAAAAABBAAABBBBABABAABBA

ABBBBBABBAABABAAABBBABBAA

ABAAABABABBBAAAAAAAAAABAA

ABAAABABABABBBABBAABBABAA

ABAAABABBABBABABAABAABAAA

ABBBBBABABBBBBABBAAAABAAA

AAAAAAABAABBBAABABABBABBA

请问在这个矩阵中有多少个字母A?


      第一题打卡题,非常让人舒服的题目,不过做了和没做对自己都没啥帮助哈哈哈。


      代码转换:


public class Main4 {
  public static void main(String[] args) {
  String a="AAAAAAABABBAABABABAAAAAAA\r\n" + 
    "  ABBBBBABBAABBBBBABABBBBBA\r\n" + 
    "  ABAAABABBBABAABBBBABAAABA\r\n" + 
    "  ABAAABABBBBBAABAABABAAABA\r\n" + 
    "  ABAAABABBABABBABABABAAABA\r\n" + 
    "  ABBBBBABBBABAABBBBABBBBBA\r\n" + 
    "  AAAAAAABABABABABABAAAAAAA\r\n" + 
    "  BBBBBBBBABAABABBBBBBBBBBB\r\n" + 
    "  AABAABABBAAABBAAABABBBBBA\r\n" + 
    "  ABBABABBBABBAAAABBBBAAAAB\r\n" + 
    "  BBBBAAABABAABABAABBBAABBA\r\n" + 
    "  BBAABABABAAAABBBAABBAAAAA\r\n" + 
    "  ABABBBABAABAABABABABBBBBA\r\n" + 
    "  AAAABBBBBABBBBAAABBBABBAB\r\n" + 
    "  AABAABAAABAAABAABABABAAAA\r\n" + 
    "  ABBBBBBBBABABBBBABAABBABA\r\n" + 
    "  ABBBAAABAAABBBAAAAAAABAAB\r\n" + 
    "  BBBBBBBBABBAAABAABBBABBAB\r\n" + 
    "  AAAAAAABBAAABBBBABABAABBA\r\n" + 
    "  ABBBBBABBAABABAAABBBABBAA\r\n" + 
    "  ABAAABABABBBAAAAAAAAAABAA\r\n" + 
    "  ABAAABABABABBBABBAABBABAA\r\n" + 
    "  ABAAABABBABBABABAABAABAAA\r\n" + 
    "  ABBBBBABABBBBBABBAAAABAAA\r\n" + 
    "  AAAAAAABAABBBAABABABBABBA";
  char[] s=a.toCharArray();
  int ans=0;
  for(int i=0;i<s.length;++i) {
    if(s[i]=='A') ans++;
  }
  System.out.println(ans);//318
  }
}


🍻 2.最2数字


如果一个整数的某个数位包含 2 ,则称这个数为一个“最2数字”。例如:102、2021 都是最2数字。

请问在 1(含) 到 2021(含) 中,有多少个最2数字。


    不知道为啥蓝桥杯这几年和数字2杠上了,经常出这种和2有关的题目,不过难度一般都是非常友好的,对于大家来说只要细心一点都不会错,也是属于签到的题目。


    代码转换:


public class Main2 {
  public static void main(String[] args) {
  int ans=0;
  for(int i=1;i<=2021;++i) {
    if(check(i)) ans++;
  }
  System.out.println(ans);//564
  }
  static boolean check(int n) {
  while(n!=0) {
    if(n%10==2) return true;
    n/=10;
  }
  return false;
  }
}


🍸3.最少次数


有一个整数 A=2021,每一次,可以将这个数加 1 、减 1 或除以 2,其中除以 2 必须在数是偶数的时候才允许。


例如,2021 经过一次操作可以变成 2020、2022。


再如,2022 经过一次操作可以变成 2021、2023 或 1011。


请问,2021 最少经过多少次操作可以变成 1。        


      非常非常经典的题目,力扣上甚至有许多类似的题目,大家有兴趣可以去搜索一下,具体的题目名字我也忘记了。这里由于求的是最少的操作,具有最短路的性质,所以我用的是BFS来搜索。当然这道题的做法有非常多,但我觉得这类题通用BFS模板既不容易出错也能写的更快,何乐而不为呢?


     为什么想到用BFS呢?因为对于每个数只有+1,-1,/2的操作。而我们平时图论中搜索是可以上下左右,第一次走到的地方一定是最短路径,而我们这里同理,每个数有+1,-1,/2的三种走法(当然奇数只有前两种),每次我们得到一个新数时,一定是通过最少的操作次数得到它。(如果你学过BFS就能明白,没学过肯定不懂,所以还是先掌握好BFS,当然这题也有其他的做法)


public class Main3 {
  public static void main(String[] args) {
  //数组开个10000完全够用了
  boolean[] visit=new boolean[10000];
  Queue<Integer> queue=new LinkedList<>();
  queue.offer(2021);
  visit[2021]=true;
  //记录答案
  int time=0;
  //BFS模板走起
  while(!queue.isEmpty()) {
    int size=queue.size();
    while(size-->0) {
    int curr=queue.poll();
    //判断curr如果是1则直接输出time就是我们的答案
    if(curr==1) {
      System.out.println(time);//14
      return;
    }
    if(!visit[curr+1]) {
      visit[curr+1]=true;
      queue.offer(curr+1);
    }
    if(!visit[curr-1]) {
      visit[curr-1]=true;
      queue.offer(curr-1);
    }
    //一定要记住,只有偶数才可以选择除以2的操作
    if(curr%2==0&&!visit[curr/2]) {
      visit[curr/2]=true;
      queue.offer(curr/2);
    }
    }
    time++;
  }
  }
}


🍹4.超大玉螺旋丸


对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。


例如,一个 4 行 5 列的螺旋矩阵如下:


1 2 3 4 5

14 15 16 17 6

13 20 19 18 7

12 11 10 9 8


请问,一个 30 行 30 列的螺旋矩阵,第 20 行第 20 列的值是多少?        


        这个题名有点中二了哈哈哈哈哈哈哈,原谅看到这个题目一下想到鸣人。这道题还是有点意思的,有点蓝桥特色。而且这题目在力扣中是有类似的原题的(某个小伙伴告诉我的,非常感谢),直接打印出这个矩阵,然后输出答案即可。问题是如何打印呢?这里我用的是卡神题解中的模板打印,这里我不过多讲解,因为力扣评论区有非常多的大佬详解,这里也附上类似力扣类似原题链接:螺旋矩阵||


       本来想用Excel拉出这个表格,但发现一旦左拉或者上拉就会递减,确实不会。如果有会的小伙伴也可以评论区或者私信教我一下,非常感谢😂


       代码转换:

public class Main4 {
  public static void main(String[] args) {
  int[][] arr=generateMatrix(30);
        //注意第二十行二十列的下标应该是19,19
  System.out.println(arr[19][19]);//819
  }
  //返回的二维数组就是打印好的数组
  public static int[][] generateMatrix(int n) {
         int l = 0, r = n - 1, t = 0, b = n - 1;
         int[][] mat = new int[n][n];
         int num = 1, tar = n * n;
         while(num <= tar){
             for(int i = l; i <= r; i++) mat[t][i] = num++; // left to right.
             t++;
             for(int i = t; i <= b; i++) mat[i][r] = num++; // top to bottom.
             r--;
             for(int i = r; i >= l; i--) mat[b][i] = num++; // right to left.
             b--;
             for(int i = b; i >= t; i--) mat[i][l] = num++; // bottom to top.
             l++;
         }
         return mat;
     }
}


相关文章
|
存储 测试技术
【蓝桥真题6】三十块的蓝桥省赛模拟真题,做的大一都直呼上当(文末PDF原题)(下)
【蓝桥真题6】三十块的蓝桥省赛模拟真题,做的大一都直呼上当(文末PDF原题)
171 0
|
安全 测试技术
【蓝桥真题6】三十块的蓝桥省赛模拟真题,做的大一都直呼上当(文末PDF原题)(中)
【蓝桥真题6】三十块的蓝桥省赛模拟真题,做的大一都直呼上当(文末PDF原题)
236 0
|
3月前
|
C#
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
446 40
|
6月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
3月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
5月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
166 10
|
4月前
|
数据采集 存储 API
Python爬虫结合API接口批量获取PDF文件
Python爬虫结合API接口批量获取PDF文件
|
8月前
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
886 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
|
8月前
|
文字识别 Serverless 开发工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
835 5
|
9月前
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
718 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式