试题 A: 求和
本题总分:5 分
【问题描述】
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 2019 中,所有这样的数的和是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分

//这道题没什么好说的for循环暴力破解public class qiuhe {        //1905111public static void main(String[] args) {int count=0,temp=0;for (int i = 1; i <=2019; i++) {int b = i;temp=i;while(b!=0){int a = b%10;if(a==2 || a==0||a==1||a==9){count+=temp;break;}b/=10;}}System.out.println(count);}
}

试题 B: 矩形切割
本题总分:5 分
【问题描述】
小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。
当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。 例如,对于一块两边分别为 5 和 3 的材料(记为 5×3),小明会依次切出 3×3、2×2、1×1、1×1 共 4 个正方形。 现在小明有一块矩形的材料,两边长分别是 2019 和 324。请问小明最终会 切出多少个正方形?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

//21个正方形

这个纯手算就可以,
当一个矩形开始切割正方形的时候,
按照矩形的宽切割就能切割出最大的正方形,
一直按照这个思路,然后继续切
最后剩下的就是1*1的正方形

package com.company;import java.util.Scanner;public class 矩形切割 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int max = sc.nextInt();int min=sc.nextInt();int count=0,num,temp;while (true){if ( min==0){//当没有得时候就可以退出了break;}num =  max/min;//看看当前长宽不变得时候有几个正方形count+=num;    //把这些都加进来//替换一下,剪完正方形,之后,原来得长就变成了宽,原来的宽就成了长temp=max-min*num;//原来得长减去剪掉得几个宽,就是现在得宽max=min;min=temp;}System.out.println(count);}
}

试题 C: 不同子串
本题总分:10 分
【问题描述】
一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。 请问,字符串0100110001010001 有多少个不同的非空子串?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

import java.util.HashSet;
import java.util.Set;public class butongzichuan {//100public static void main(String[] args) {String s ="0100110001010001";Set<String> set = new HashSet<String>();       //Set最大的特点就是不能存重复的元素for (int i = 0; i < s.length(); i++) {                   //for循环每一种可能,加入set里面for (int j = i+1; j <= s.length(); j++) {String a = s.substring(i,j);set.add(a);}}System.out.println(set.size());            / /然后直接看set.size()的大小就可以}}

试题 D: 质数
本题总分:10 分
【问题描述】
我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算 第 2019 个质数是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

//这个题也没什么好说的,for循环暴力破解
//那个A:的意思是对后面的for进行标记,可以break A就是直接终止A的循环
//  continue A就是跳过一次A的循环public class zhishu {          //17569public static void main(String[] args) {int count = 0;int temp = 0;A:   for (int i = 2; ; i++) {for (int j = 2; j <i; j++) {if(i%j==0){continue A;}}count++;if(count==2019){System.out.println(i);break;}}}}

试题 E: 最大降雨量
本题总分:15 分
【问题描述】
由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨。 这个法术需要用到他手中的 49 张法术符,上面分别写着 1 至 49 这 49 个 数字。法术一共持续 7 周,每天小明都要使用一张法术符,法术符不能重复使 用。 每周,小明施展法术产生的能量为这周 7 张法术符上数字的中位数。法术 施展完 7 周后,求雨将获得成功,降雨量为 7 周能量的中位数。 由于干旱太久,小明希望这次求雨的降雨量尽可能大,请大最大值是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

这道题就是一个思路的问题,想到就很简单,想不到就会很难
自由分配七周的降雨量,每一周的降雨量为这一周降雨量的中位数
这七周的降雨量为这七周降雨量的中位数
我们从第七周开始算
第七周的后四位取最大值 前三位不用管 然后第七周的降雨量为46
第六周的后四位取剩下的最大值 前三位不用管 然后第六周的降雨量为45
。。。。。。
一直到第四周
因为这七周的降雨量为这七周降雨量的中位数
所以第四周的降雨量就是结果
下图
他是中位数(我这么算已经把最大的放在后面了)
前三周不用管(也就是前三行)
后四周的前三天不用管(前三列不用管)

27 28 29 30 31 32 33
20 21 22 23 24 25 26
13 14 15 16 17 18 19
10 11 12 34 35 36 37
7 8 9 38 39 40 41
4 5 6 42 43 44 45
1 2 3 46 47 48 49

试题 F: 旋转
时间限制: 1.0s 内存限制: 512.0MB
本题总分:15 分
【问题描述】
图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时 针旋转 90 度。 我们用一个 n×m 的二维数组来表示一个图片,例如下面给出一个 3×4 的 图片的例子:
1 3 5 7 9 8 7 6 3 5 9 7
这个图片顺时针旋转 90 度后的图片如下:
3 9 1 5 8 3 9 7 5 7 6 7
给定初始图片,请计算旋转后的图片。
【输入格式】
输入的第一行包含两个整数 n 和 m,分别表示行数和列数。 接下来 n 行,每行 m 个整数,表示给定的图片。图片中的每个元素(像 素)为一个值为 0 至 255 之间的整数(包含 0 和 255)。
【输出格式】
输出 m 行 n 列,表示旋转后的图片。
试题F: 旋转 7
第十届蓝桥杯大赛软件类省赛 Java 大学 C 组
【样例输入】 3 4 1 3 5 7 9 8 7 6 3 5 9 7
【样例输出】 3 9 1 5 8 3 9 7 5 7 6 7
【评测用例规模与约定】 对于 30% 的评测用例,1≤n,m≤10。 对于 60% 的评测用例,1≤n,m≤30。 对于所有评测用例,1≤n,m≤100。

//对于这种题,作者认为最好的方法就是用笔和纸在纸上写一遍
//把旋转过来的左边写一下,看看对应的是原来的哪一个坐标

import java.util.Scanner;public class xuanzhuan {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int [][] num = new int [n+1][m+1];for (int i = 1; i <=n; i++) {for (int j = 1; j <=m; j++) {num[i][j]=sc.nextInt();}}int [][]shu = new int [m+1][n+1];for (int i = 1; i <=m; i++) {for (int j = 1; j <=n; j++) {shu[i][j]=num[n-j+1][i];       //关键点在这}}for (int i = 1; i <=m; i++) {for (int j = 1; j <=n; j++) {System.out.print(shu[i][j]+" ");}System.out.println();}}}

试题 G: 外卖店优先级
时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分
【问题描述】
“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有 一个优先级,初始时 (0 时刻) 优先级都为 0。 每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减 到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。 如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果 优先级小于等于 3,则会被清除出优先缓存。 给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优 先缓存中。
【输入格式】 第一行包含 3 个整数 N、M 和 T。 以下 M 行每行包含两个整数 ts 和 id,表示 ts 时刻编号 id 的外卖店收到 一个订单。
【输出格式】
输出一个整数代表答案。
【样例输入】 2 6 6 1 1 5 2 3 1 6 2 2 1 6 2
试题G: 外卖店优先级 9
第十届蓝桥杯大赛软件类省赛 Java 大学 C 组
【样例输出】 1
【样例解释】 6 时刻时,1 号店优先级降到 3,被移除出优先缓存;2 号店优先级升到 6, 加入优先缓存。所以是有 1 家店 (2 号) 在优先缓存中。
【评测用例规模与约定】 对于 80% 的评测用例,1≤ N,M,T ≤10000。 对于所有评测用例,1≤ N,M,T ≤100000,1≤ts≤T,1≤id ≤ N。

这道题可以用map来写,map可以自定义下标, 如果直接加入值的话可能出现缺少问题 因为同一时间可能会有好几家店都有新订单 然后把他的值做成一个List集合,(用泛型指定以下就可以) 然后就是一些判断了 具体,看代码,不懂得在下面评论

import java.util.ArrayList;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.TreeMap;public class waimaidianyouxianji {static Scanner in = new Scanner(System.in);static int n, m, t;static Map<Integer, ArrayList<Integer>> map = new TreeMap<Integer, ArrayList<Integer>>();static int result;public static void main(String[] args) {n = in.nextInt();m = in.nextInt();t = in.nextInt();for (int i = 1; i <= m; ++i) {int time = in.nextInt();int id = in.nextInt();if (map.containsKey(id)) {map.get(id).add(time);} else {ArrayList<Integer> temp = new ArrayList<Integer>();temp.add(time);map.put(id, temp);}}ArrayList<Map.Entry<Integer, ArrayList<Integer>>> list = new ArrayList<Map.Entry<Integer, ArrayList<Integer>>>(map.entrySet());for (int i = 0; i < list.size(); ++i) {Entry<Integer, ArrayList<Integer>> entry = list.get(i);ArrayList<Integer> list2 = entry.getValue();int num = 0;int[] count = new int[t + 2];boolean flag = false;for (int j = 0; j < list2.size(); ++j)count[list2.get(j)]++;for (int j = 1; j <= t; ++j) {if (count[j] == 0) {if (num > 0)num--;if (num <= 3)flag = false;} else {num += count[j] * 2;if (num > 5)flag = true;}}if (flag)result++;}System.out.println(result);}}

试题 H: 人物相关性分析
时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分
【问题描述】
小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob 有多少次同时出现。 更准确的说,小明定义 Alice 和 Bob“同时出现”的意思是:在小说文本 中 Alice 和 Bob 之间不超过 K 个字符。 例如以下文本: ThisisastoryaboutAliceandBob.AlicewantstosendaprivatemessagetoBob. 假设 K = 20,则 Alice 和 Bob 同时出现了 2 次,分别是”Alice and Bob” 和”Bob. Alice”。前者 Alice 和 Bob 之间有 5 个字符,后者有 2 个字符。 注意: 1. Alice 和 Bob 是大小写敏感的,alice 或 bob 等并不计算在内。 2. Alice 和 Bob 应为单独的单词,前后可以有标点符号和空格,但是不能 有字母。例如 Bobbi 並不算出现了 Bob。
【输入格式】
第一行包含一个整数 K。 第二行包含一行字符串,只包含大小写字母、标点符号和空格。长度不超 过 1000000。
【输出格式】
输出一个整数,表示 Alice 和 Bob 同时出现的次数。
【样例输入】
20 This is a story about Alice and Bob.Alice wants to send aprivate message to Bob.

这道题最大的坑在于,你直接从PDF中复制下来, 他会没有空格,很多人做的时候会忽视这一点

import java.util.Scanner;public class renwuxiangguanxing {public static void main(String[] args)  {Scanner reader=new Scanner(System.in);int res=0;    //save resultint K=reader.nextInt();reader.nextLine();    //nextLine吸取回车键String str=reader.nextLine();String words[]=str.split("\\s+|\\.");    //以空格和.分割出来,注意.空格的组合存放为空字符串//    Alice------>Bobfor(int i=0;i<words.length;i++){if(words[i].equals("Alice")){for(int j=i+1;j<words.length;j++){if(words[j].equals("Bob")){int sum=1;    //这里要等于1for(int k=i+1;k<j;k++){sum+=words[k].length()+1;}if(sum<=K){res++;}}}}}//Bob--------->Alicefor(int i=0;i<words.length;i++){if(words[i].equals("Bob")){for(int j=i+1;j<words.length;j++){if(words[j].equals("Alice")){int sum=1;    //这里要等于1for(int k=i+1;k<j;k++){sum+=words[k].length()+1;}if(sum<=K){res++;}}}}}System.out.println(res);}}

试题 I: 等差数列
时间限制: 1.0s 内存限制: 512.0MB 本题总分:25 分
【问题描述】
数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有 几项?
【输入格式】
输入的第一行包含一个整数 N。 第二行包含 N 个整数 A1,A2,··· ,AN。(注意 A1 ∼ AN 并不一定是按等差数 列中的顺序给出)
【输出格式】
输出一个整数表示答案。
【样例输入】 5 2 6 4 10 20
【样例输出】 10
【样例说明】
包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、16、 18、20。
【评测用例规模与约定】
对于所有评测用例,2≤ N ≤100000,0≤ Ai ≤109。

 import java.util.Arrays;
import java.util.Scanner;public class 等差数列2 {public static void main(String[] args) {Scanner sc =new Scanner(System.in);int n = sc.nextInt();int [] num = new int [n];           //输入的数int [] cha = new int [n-1];          //数组排序后,相邻的数字最小的差值for (int i = 0; i < num.length; i++) {num[i]=sc.nextInt();}Arrays.sort(num);int min_cha=Integer.MAX_VALUE;for (int i=0;i<cha.length;i++){cha[i]=num[i+1]-num[i];min_cha=Math.min(cha[i],min_cha);}
//        for (int i:cha
//             ) {
//            System.out.println(i);
//        }int dengcha=Integer.MAX_VALUE;A: for (;min_cha>0;min_cha--){boolean bool = false;for (int i=0;i<cha.length;i++){if (cha[i]%min_cha!=0){continue A;}}dengcha=min_cha;break A;}
//        System.out.println(dengcha);int num1 = num[num.length-1]-num[0];int count=1;count+=num1/dengcha;System.out.println(count);}
}

试题 J: 扫地机器人
时间限制: 1.0s 内存限制: 512.0MB 本题总分:25 分
【问题描述】
小明公司的办公区有一条长长的走廊,由 N 个方格区域组成,如下图所
示。
走廊内部署了 K 台扫地机器人,其中第 i 台在第 Ai 个方格区域中。 已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干
净。
请你编写一个程序,计算每台机器人的清扫路线,使得

  1. 它们最终都返回出发方格,
  2. 每个方格区域都至少被清扫一遍,
  3. 从机器人开始行动到最后一台机器人归位花费的时间最少。
    注意多台机器人可以同时清扫同一方块区域,它们不会互相影响。
    输出最少花费的时间。 在上图所示的例子中,最少花费时间是 6。第一台路线:2-1-2-3-4-3-2,清 扫了 1、2、3、4 号区域。第二台路线 5-6-7-6-5,清扫了 5、6、7。第三台路线 10-9-8-9-10,清扫了 8、9 和 10。
    【输入格式】
    第一行包含两个整数 N 和 K。 接下来 K 行,每行一个整数 Ai。
    试题 J: 扫地机器人 15
    第十届蓝桥杯大赛软件类省赛 Java 大学 C 组
    【输出格式】
    输出一个整数表示答案。
    【样例输入】 10 3 5 2 10
    【样例输出】 6
    【评测用例规模与约定】
    对于 30% 的评测用例,1≤ K < N ≤10。 对于 60% 的评测用例,1≤ K < N ≤1000。 对于所有评测用例,1≤ K < N ≤100000,1≤ Ai ≤ N。
 import java.util.Scanner;public class 扫地机器人_c {static int N;static int K;static int[] a = new int[1000000];static int[] b = new int[1000000];public static void main(String[] args) {int i,L;Scanner sc =new Scanner(System.in);N=sc.nextInt();K=sc.nextInt();for (  i = 1; i <=K; i++) {a[i]=sc.nextInt();b[a[i]]=1;}L=fun();System.out.println(2*(L-1));}public static boolean check1(int first_L, int L) { //第一个区间长度为 first_L,之后区间长度都为 Lint i, j;if (first_L + (K - 1) * L < N) {//第一个区间再加上,其他的机器人和*这段的长度是不是能够够到总长return false;}i = 1; //第 i 个区间j = 1; //当前查看的方格位置while (j <= N) {if (b[j] == 1) { //第 i 个区间内有机器人j = first_L + (i - 1) * L + 1; //j 指向下一个区间起点i++; //下一个区间}else {j++;//一直检查下一个方格,如果一直没有直到first_L和j相等后,表明真的没有机器人if (j == first_L + (i - 1) * L + 1 || j == N + 1) { //第 i 个区间内没有机器人return false;      //因为L是不断变大的,first也一直变大,所以检查一直再往后扩展}}}return true;}
public static       boolean check(int L) {int first_L; //首区间的长度(取值范围:1~L)for (first_L = L; first_L > 0; first_L--) {//倒叙是因为,用大区间可以减少机器人的移动if (check1(first_L, L)) {return true;}}return false;}
public static       int fun() {int i, j, L;for (L = N / K; L <= N; L++) {//平均一下,if (check(L)) {return L;}}return L;}}

终于写出来了,哈哈,感谢一位名叫123齐步走的网友

第十届蓝桥杯JavaC组省赛真题相关推荐

  1. 第十届蓝桥杯JavaB组省赛真题

    试题 A: 组队 本题总分:5 分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分如下表所示. ...

  2. 2019蓝桥杯Java决赛题答案_2019第十届蓝桥杯JavaB组省赛真题详解

    目录 题解待更新 第一题:组队 题目描述 做为篮球队教练,你须要从如下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分以下表所示.请你计算 ...

  3. 第六届蓝桥杯JavaC组省赛真题——详细答案对照(包含垒骰子)

    A.隔行变色 Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式. 小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,.... 现在小明想知道,从第21行 ...

  4. 2018第九届蓝桥杯JavaB组省赛真题及详解

    2018第九届蓝桥杯JavaB组省赛真题及详解 第一题:第几天 第二题:方格计数 第三题:复数幂 第四题:测试次数 第五题:快速排序 第六题:递增三元组 第七题:螺旋折线 第八题:日志统计 第九题:全 ...

  5. 十三届蓝桥杯单片机组省赛真题程序解析

    第一次参加蓝桥杯,线上比赛,记录一下 比赛刚开始了十分钟才做上客观题,做上了之后才发现看一次题警告一次,当时就蚌埠住了,随便做了做就交了,手册也没怎么查(查一下直接给了3次黄牌,就没敢查了)其实老师1 ...

  6. 2018第九届蓝桥杯JavaA组省赛真题详解

    目录 第一题:分数 第二题:星期一 第三题:复数幂 第四题:方格计数 第五题:打印图形 第六题:航班时间 第七题:三体攻击 第八题:全球变暖 第九题:倍数问题 第十题:付账问题 题解待更新 第一题:分 ...

  7. 第九届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.第几天 题目描述 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数 ...

  8. 第六届蓝桥杯JavaA组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.熊怪吃核桃 题目描述 森林里有一只熊怪,很爱吃核桃.不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份.如果不能等分, ...

  9. 第六届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.三角形面积 题目描述 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何 ...

最新文章

  1. python 多进程安全日志库 ConcurrentLogHandler 简介
  2. ps添加的阴影怎么去除_【PS摄影后期教程】去除阴影色块三种方法
  3. 解决:无法解析的外部符号__iob_func
  4. 怎么判断网络回路_收藏|电梯安全回路分析说明及故障判断
  5. HTML DOM getElementsByTagName() 方法
  6. opencv 设置视频帧的分辨率“无效”
  7. 如何打造园本特色_立足城市特色 打造赛事品牌——年轻成马如何走向国际化...
  8. 兼容浏览器将NodeList对象转换为数组
  9. 技术 | Python从零开始系列连载(二十九)
  10. 条件概率分布_条件概率
  11. 泸州田家炳中学2021高考成绩查询,2021年泸州中考线出来了吗
  12. 盘点国内高投资低票房的电影巨制
  13. [0715]Jsoi Test sequence
  14. java imapi_读写DVD / CD-Java
  15. Postman 汉化教程
  16. 深度学习视频教程推荐
  17. High Dynamic Range(HDR)图像介绍(一)
  18. 提速20倍!谷歌AI发布TensorFlow 3D,智能汽车场景亲测好用
  19. 6.Python常用第三方库—jieba库的使用(中文分词词库)
  20. C语言文件操作+通讯录实现文件操作

热门文章

  1. 靠部落格打响品牌 一个人赚全世界的钱
  2. (Python)异常处理try...except、raise
  3. 父组件给孙子组件传值
  4. 内积到底是什么?和卷积的联系是什么
  5. 计算机键盘按键失灵,电脑键盘失灵怎么办?4个小技巧解决电脑键盘失灵问题...
  6. 低代码平台开发 python_【低筋面粉】低筋面粉的功效_低筋面粉图片_食材百科_美食杰...
  7. [附源码]Python计算机毕业设计东北鹿产品售卖网站Django(程序+LW)
  8. JavaScript里的两个等于号和三个等于号的区别
  9. 接口性能测试方案 白皮书 V1.0
  10. 【读书笔记】【More Effective C++】异常(Exceptions)