2019第十届蓝桥杯JavaB组真题

合集下载

第十届蓝桥杯大赛软件类省赛Java 研究生组

第十届蓝桥杯大赛软件类省赛Java 研究生组

【问题描述】
你在玩一个游戏,游戏中有 n 个地点和 m 条单向时空航道。每条时空航道
形如 (u, v, w, x),其中 u,v 表示这条时空航道的起点终点,w 表示通过这条航
道需要的时间(注意这个时间是现实当中游戏者的时间也是游戏内的时间),x
表示这条航道使用的频繁程度。时空航道不会成环,但可能会有两条航道的起
试题 D: 最短路
5
第十届蓝桥杯大赛软件类省赛 Java 研究生组
试题 E: RSA 解密
本题总分:15 分
【问题描述】
RSA 是一种经典的加密算法。它的基本加密过程如下。 首先生成两个质数 p, q,令 n = p · q,设 d 与 (p − 1) · (q − 1) 互质,则可 找到 e 使得 d · e 除 (p − 1) · (q − 1) 的余数为 1。 n, d, e 组成了私钥,n, d 组成了公钥。 当使用公钥加密一个整数 X 时(小于 n),计算 C = Xd mod n,则 C 是加 密后的密文。 当收到密文 C 时,可使用私钥解开,计算公式为 X = Ce mod n。 例如,当 p = 5, q = 11, d = 3 时,n = 55, e = 27。 若加密数字 24,得 243 mod 55 = 19。 解密数字 19,得 1927 mod 55 = 24。 现在你知道公钥中 n = 1001733993063167141, d = 212353,同时你截获了 别人发送的密文 C = 20190324,请问,原文是多少?
12
第十届蓝桥杯大赛软件类省赛 Java 研究生组
45 67
【样例输出】
0 7
【样例输入】
3 23 23333333 23333333 233333333 233333333 2333333333 2333333333

蓝桥杯JavaB历年竞赛真题详解

蓝桥杯JavaB历年竞赛真题详解

蓝桥杯JavaB历年竞赛真题详解
✌ 2021年第⼗⼆届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25✌ 2020年第⼗⼀届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25✌ 2019年第⼗届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25
题⽬10编程⼤题25✌ 2018年第九届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25。

蓝桥杯 练习系统 算法训练答案Java

蓝桥杯 练习系统 算法训练答案Java

ALGO-9import java.io.*;public class Main{public static void main(String args[])throws IOException{BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));int n=Integer.parseInt(bf.readLine());System.out.println((int)(Math.pow(2,n)-n-1)*2);}}10import java.io.*;import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());int[] arr = new int[n];String st[] = br.readLine().split(" ");for (int a = 0; a < arr.length; a++) {arr[a] = Integer.parseInt(st[a]);}Arrays.sort(arr);int m = Integer.parseInt(br.readLine());int[] tag = new int[m];String str[] = br.readLine().split(" ");for (int a = 0; a < tag.length; a++) {tag[a] = Integer.parseInt(str[a]);}Arrays.sort(tag);func(arr, tag);}public static void func(int[] arr, int[] tag) {int x;for (int a = 0; a < arr.length; a++) {x = Arrays.binarySearch(tag, arr[a]);if (x >= 0) {System.out.print(arr[a] + " ");}}System.out.println();Set<Integer> set = new HashSet<Integer>();for (int a = 0; a < arr.length; a++) {set.add(arr[a]);}for (int a = 0; a < tag.length; a++) {set.add(tag[a]);}int[] sor = new int[set.size()];Iterator<Integer> it = set.iterator();while (it.hasNext()) {for (int a = 0; a < sor.length; a++) {sor[a] = it.next();}}Arrays.sort(sor);for (int a = 0; a < sor.length; a++) {System.out.print(sor[a] + " ");}System.out.println();int y;for (int a = 0; a < arr.length; a++) {y = Arrays.binarySearch(tag, arr[a]);if (y < 0) {System.out.print(arr[a] + " ");}}System.out.println();}}11import java.util.Scanner;public class Main{public static void main(String []args){Scanner input = new Scanner(System.in);int n = input.nextInt();if(1<=n && n<=10){if(n==1){System.out.println("1");}else{int []tag = new int[n];tag[0] = 1;tag[1] = 2;if(n==1){System.out.println(tag[0]);}for(int a=2;a<n;a++){tag[a] = tag[a-1] + tag[a-2];}System.out.println(tag[n-1]);}}}}12import java.io.BufferedReader;import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int number = Integer.valueOf(br.readLine());toString(Integer.toBinaryString(number));}private static void toString(String binary) {char[] temp = binary.toCharArray();boolean control = false;for (int i = 0; i < temp.length; i++) {if (temp[i] == '1') {if (control)System.out.print("+");elsecontrol = true;System.out.print("2");int mi = temp.length - i - 1;if (mi == 0)System.out.print("(0)");else if (mi > 1) {System.out.print("(");toString(Integer.toBinaryString(mi));System.out.print(")");}}}}}13import java.io.*;import java.util.*;public class Main {public static void main(String args[]) throws IOException{BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));String s=bf.readLine();String[] ss=s.split(" ");int[] numa=new int[ss.length];int[] numb=new int[ss.length];int[] numc=new int[ss.length];for(int i=0;i<ss.length;i++){numa[i]=Integer.parseInt(ss[i]);numb[i]=1;numc[i]=1;}int a1=Integer.MIN_V ALUE;int a2=Integer.MIN_V ALUE;for(int i=0;i<numa.length;i++){for(int j=0;j<i;j++){if(numa[i]<numa[j]&&numb[i]<numb[j]+1){numb[i]=numb[j]+1;}a1=Math.max(a1, numb[i]);}}for(int i=0;i<numa.length;i++){for(int j=0;j<i;j++){if(numa[i]>numa[j]&&numc[i]<numc[j]+1){numc[i]=numc[j]+1;}}a2=Math.max(a2, numc[i]);}System.out.println(a1);System.out.println(a2);}}14import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main {private static int n, count;public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));n = Integer.parseInt(br.readLine());String m = br.readLine();long a = Long.parseLong(m, n);long b = Long.parseLong(new StringBuilder(m).reverse().toString(), n);if (a == b)System.out.println("STEP=" + 0);elsefunc(a, b);}private static void func(long a, long b) {count++;if (count > 30) {System.out.println("Impossible!");return;}long sum = a + b;String str = "";while (sum >= n) {long tmp = sum % n;sum /= n;if (tmp >= 10)str = (char) (55 + tmp) + str;elsestr = tmp + str;}if (sum >= 10)str = (char) (55 + sum) + str;elsestr = sum + str;String reverse = new StringBuilder(str).reverse().toString();if (!str.equals(reverse)) {a = Long.parseLong(str, n);b = Long.parseLong(reverse, n);func(a, b);} else {System.out.println("STEP=" + count);return;}}}15import java.util.Scanner;public class Main {public static void main(String[] args) {double[][] p = new double[1024][1024];Scanner sc = new Scanner(System.in);int i, j, k = 0;double d1 = sc.nextDouble();double c = sc.nextDouble();double d2 = sc.nextDouble();p[0][1] = sc.nextDouble();int n = sc.nextInt();n++;for (i = 1; i < n; i++) {p[i][0] = sc.nextDouble();p[i][1] = sc.nextDouble();}p[n++][0] = d1;double f = c * d2;for (i = 0; i < n; i++) {if (p[i + 1][0] - p[i][0] > f) {System.out.println("No Solution");return;}}double min = 0, max, d;for (i = 0; i < n - 1; i++) {d = p[i + 1][0] - p[i][0];while (d > 0) {while (p[i + 1][0] - p[k][0] - d >= f)k++;for (j = k; j <= i; j++)if (p[j][1] < p[k][1])k = j;max = f - (p[i + 1][0] - p[k][0] - d);if (max > d)max = d;d -= max;min += max / d2 * p[k][1];}}System.out.println(String.format("%.2f", min));}}16import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = scanner.nextInt();int R = scanner.nextInt();char[] c = "0123456789ABCDEFG".toCharArray();String s1 = N + "=";String s = "";while (N != 0) {int t = N % R;if (t < 0) {t = t - R;N = N / R + 1;} elseN = N / R;s = c[t] + s;}System.out.println(s1 + s + "(base" + R + ")");}}17import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StreamTokenizer;public class Main {public static void main(String[] args) throws IOException {StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));st.nextToken();int N = (int) st.nval;st.nextToken();int K = (int) st.nval;st.nextToken();long M = (long) st.nval;String str = String.valueOf(M);long dp[][] = new long[K + 1][N + 1];for (int i = 1; i <= N; i++) {dp[0][i] = Long.parseLong(str.substring(0, i));}for (int i = 1; i <= K; i++) {for (int j = 1 + i; j <= N; j++) {for (int k = i; k <= N; k++) {int font = 0;for (int l = k; l < j; l++) {font = str.charAt(l) - '0' + font * 10;}if (dp[i][j] < dp[i - 1][k] * font)dp[i][j] = dp[i - 1][k] * font;}}}System.out.println(dp[K][N]);}}18import java.util.Scanner;public class Main {private static String[] a = new String[20];private static int[] b = new int[20];private static int max;private static int n;public static void main(String[] args) {Scanner scanner = new Scanner(System.in);n = scanner.nextInt();for (int i = 0; i < n; i++)a[i] = scanner.next();String string = scanner.next();f(string, string.length());System.out.println(max);}private static void f(String s, int length) {for (int i = 0; i < n; i++)if (a[i].indexOf(s) == 0 && b[i] < 2) {int length1 = s.length();int length2 = a[i].length();b[i]++;int p = 1;length = length + length2 - length1;while (p < length2) {f(a[i].substring(length2 - p, length2), length);p += 1;}length = length - length2 + length1;b[i]--;}max = length > max ? length : max;}}19import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main{static int x;static int y;static int n;public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));n = Integer.parseInt(br.readLine());int[][] tag = new int[2 * n + 1][2 * n + 1];int[][] arr = new int[n * n][2];out: for (int i = 1; ; i++) {String[] str = br.readLine().split(" ");for (int j = 0; j < 1; j++) {x = arr[i][0] = Integer.parseInt(str[0]);y = arr[i][1] = Integer.parseInt(str[1]);tag[x][y] = Integer.parseInt(str[2]);if (x == 0 && y == 0 && tag[x][y] == 0){dp(tag);break out;}}}}public static void dp(int[][] tag) {int[][] temp = new int[2 * n][2 * n];int k;for (int i = 2; i <= 2 * n; i++) {for (int t = min(i, n), j = t; j > 0; j--) {for (k = t; k > 0; k--) {temp[j][k] = max(temp[j][k], temp[j - 1][k - 1]);temp[j][k] = max(temp[j][k], temp[j - 1][k]);temp[j][k] = max(temp[j][k], temp[j][k - 1]);if (j == k)temp[j][k] += tag[j][i - j];elsetemp[j][k] += tag[j][i - j] + tag[k][i - k];}}}System.out.println(temp[n][n]);}public static int max(int a, int b) {return a > b ? a : b;}public static int min(int a, int b) {return a > b ? b : a;}}20import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNext()) {String str1 = scanner.nextLine();String str2 = scanner.nextLine();showResult(str1, str2);System.out.println();}}private static void showResult(String str1, String str2) {char chl = str2.charAt(str2.length() - 1);System.out.print(chl);int index = str1.indexOf(chl);if (index > 0) {showResult(str1.substring(0, index), str2.substring(0, index));}if (index < str1.length() - 1) {showResult(str1.substring(index + 1),str2.substring(index, str2.length() - 1));}}}21import java.io.*;import java.util.*;public class Main {private static int v[][]=new int[31][20001];public static void main (String args[])throws Exception{//Scanner sc=new Scanner(System.in);BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));//int n=sc.nextInt();//int m=sc.nextInt();int n=Integer.parseInt(bf.readLine());int m=Integer.parseInt(bf.readLine());int a[]=new int[m+1];for(int i=1;i<=m;i++)a[i]=Integer.parseInt(bf.readLine());//a[i]=sc.nextInt();for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){if(j<a[i])v[i][j]=v[i-1][j];elsev[i][j]=Math.max(v[i-1][j], v[i-1][j-a[i]]+a[i]);}}System.out.println(n-v[m][n]);}}22import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner s = new Scanner(System.in);int n = s.nextInt();int m = s.nextInt();int f[][] = new int[250][10];for (int i = 0; i <= n; i++) {f[i][1] = 1;}for (int i = 2; i <= m; i++) {for (int j = 0; j <= n - m; j++) {if (i > j) {f[j][i] = f[j][i - 1];} else {f[j][i] = f[j][i - 1] + f[j - i][i];}}}System.out.println(f[n - m][m]);}}23import java.util.Scanner;public class Main {public static void main(String args[]) {Scanner sc = new Scanner(System.in);double a = sc.nextDouble();double b = sc.nextDouble();double c = sc.nextDouble();double d = sc.nextDouble();for(double x=-100;x<=100;x+=.001) {if(Math.abs(a*x*x*x+b*x*x+c*x+d) < .01) {System.out.printf("%.2f ", x);x++;}}}}24import java.util.Scanner;public class Main{static int p;static int k;static String S;static int wordsize;static String[] Word;static int num = 0;static int maxnum = 0;static int kefenge = 0;public static void main(String[] args) {Scanner sc = new Scanner(System.in);p = sc.nextInt();k = sc.nextInt();S = "";sc.nextLine();for (int i = 0; i < p; i++) {S = S + sc.nextLine();}wordsize = sc.nextInt();Word = new String[wordsize];for (int i = 0; i < wordsize; i++) {Word[i] = sc.next();}zhaodanci(S);if(kefenge<k){num = num-(k-1);}System.out.println(num);// System.out.println(kefenge);}public static void zhaodanci(String s){boolean meizhaodao = true;for(int i = 0;i<s.length();i++){for(int j = 0;j<wordsize;j++){if(s.substring(i,s.length()).length()<Word[j].length()){continue;}if(s.substring(i,i+Word[j].length()).length()<Word[j].length()){continue;}if(s.substring(i,i+Word[j].length()).equals(Word[j])){// System.out.println(s+":"+Word[j]);num++;if(i != 0){kefenge++;}zhaodanci(s.substring(i+1,s.length()));return;}}}}}25该题暂时没有人完全正确,暂时没有该语言的参考程序。

第十届蓝桥杯选择题真题解析1-8

第十届蓝桥杯选择题真题解析1-8

少儿编程scratch蓝桥杯选择题真题解析1-8少儿编程scratch蓝桥杯选择题真题解析1第十届scratch蓝桥杯初级组少儿编程竞赛的选择题第二题:多彩气球题目如上,难度系数两颗星根据题目:造型编号切换的范围是(1~3)-1也就是0~2那么造型编号取1的时候,气球为蓝色,造型编号为2的时候,气球编号为黄色。

由于取值范围没有3,有些小朋友就会说那就不会出现造型编号3对应的紫色!scratch蓝桥杯少儿编程竞赛真题解析32020-01-05 18:40还有一个叫做亮度效果,当亮度设为100的时候,角色会编程白色的,当然这道题里当然不会“消失”因为背景是绿色的嘛。

但是在有些题目中,有这个选项,并且背景是白色的那么角色变白,背景也是白色的,就可以融入背景也可以当成是“消失”少儿编程scratch蓝桥杯真题讲解42020-01-06 15:23首先题目如上图,这是第十届蓝桥杯scratch初级组试题的第四题,难度不高这道题主要考查画笔模块中的图章积木,有几个迷惑的点1、无论克隆多少个,最终克隆体都移动到了一个地方,他们是会重合再一起的2、本体隐藏了,那么克隆体也会隐藏,算是继承了本体的属性3、图章就像一个印章一样,会盖出一个和角色一模一样的图案再舞台上,并且需要画笔的清空积木才能擦除这样小朋友们是不是都知道答案了呢?重复执行10次,等待1秒,运行程序5秒,这些都是迷惑信息答案分割线:scratch少儿编程蓝桥杯真题讲解5少儿编程scratch蓝桥杯第十届初级组的选择题第五题:天气这道题的题目较长,小朋友有认真审题吗?理解题意之后,我们往后看我们需要看能够让雪花和帽子对应上,太阳和短袖对应上的程序A选择:让服饰的造型编号对应上天气的造型编号B选项:用了一个if else的条件语句,天气1也就是雪花对应上帽子那么也是正确的C选项:条件语句看一下:意思是天气的造型编号不为1即天气为太阳的时候,切换为帽子。

对应关系错误D选项:和C选项差不多,雪花对应帽子这道题主要考查的是小朋友们的逻辑思维,一定要把握好条件语句中的条件对应关系答案分割线:Cscratch少儿编程蓝桥杯真题讲解6scratch少儿编程蓝桥杯第十届初级组的第六题:画图难度是有的,小朋友如果不把程序写出来,很容易出错。

java蓝桥杯b组题目

java蓝桥杯b组题目

java蓝桥杯b组题目(实用版)目录1.Java 蓝桥杯 B 组题目概述2.Java 蓝桥杯 B 组题目的考试形式和要求3.Java 蓝桥杯 B 组题目的备考策略4.总结正文【Java 蓝桥杯 B 组题目概述】Java 蓝桥杯是我国高校计算机类专业的一项重要赛事,旨在发现和培养优秀的计算机人才。

其中,B 组题目是针对本科生举办的比赛,其内容涵盖了 Java 语言的基本语法、数据结构与算法、操作系统等方面的知识。

参加 Java 蓝桥杯 B 组比赛不仅能够提升自己的编程技能,还可以与其他优秀的计算机专业学生进行交流,拓宽视野。

【Java 蓝桥杯 B 组题目的考试形式和要求】Java 蓝桥杯 B 组题目的考试形式为在线编程,参赛选手需要在规定的时间内(通常为 4 小时)完成若干道题目。

这些题目通常包括程序设计题、算法题、调试题等,要求参赛选手具备扎实的 Java 编程基础和较强的逻辑思维能力。

【Java 蓝桥杯 B 组题目的备考策略】1.扎实掌握 Java 基础知识。

包括 Java 基本语法、面向对象编程、异常处理、集合框架等,这些知识点是解决 Java 蓝桥杯 B 组题目的基础。

2.学习数据结构与算法。

数据结构与算法是计算机专业的核心知识,对于解决编程题目具有重要意义。

可以学习常见的数据结构(如数组、链表、树、图等)和算法(如排序、查找、动态规划等),并熟练掌握常用的算法思想和方法。

3.多做练习,积累经验。

参加在线编程练习平台,如 LeetCode、牛客网等,可以提高自己的编程能力和应对题目的技巧。

同时,多参加模拟赛,了解自己在考试环境下的应对能力,为正式比赛做好充分的准备。

4.分析总结,查漏补缺。

在练习过程中,要注重总结自己遇到的问题和不足,查找资料和学习他人的解题方法,不断提高自己的编程水平。

【总结】Java 蓝桥杯 B 组题目对于计算机专业的学生来说是一个很好的锻炼和学习机会。

要想在比赛中取得好成绩,需要扎实掌握 Java 基础知识,学习数据结构与算法,多进行练习和总结。

历年蓝桥杯省赛B组真题试题

历年蓝桥杯省赛B组真题试题
int i,j; for(i = 0 ; i < 3 ; i ++)
for(j = 0 ; j < 4 ; j ++) flag[i][j] = 1;
flag[0][0] = 0; flag[2][3] = 0; }
void Solve() {
int dir[8][2] = { 0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1}; int book = true; for(int i = 0 ; i < 3 ; i ++) {
int main() {
int i; int a[] = {5,13,6,24,2,8,19,27,6,12,1,17}; int N = 12;
quicksort(a, 0, N -1);
for(i=0; i<N; i++) printf("%d ", a[i]); printf("\n");
return 0; }
num[n]=0;
}
}
}
int main() {
memset(num,0,sizeof(num)); memset(visit,0,sizeof(visit)); dfs(1); cout<<sum; return 0; }
4 / 19
(4) 快速排序
历年蓝桥杯省赛 B 组真题试题
排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。
if(!visit[i]) {
visit[i] = true; mpt[x][y] = i; dfs(index+1); visit[i] = false; } } } else { dfs(index+1); } } int main() { init(); dfs(0); printf("%d\n",ans); return 0; }

第十届蓝桥杯真题编程题1-7解析(高级组)

第十届蓝桥杯真题编程题1-7解析(高级组)

scratch少儿编程第十届蓝桥杯真题7大家好~今天我们来讲解scratch蓝桥杯第十届编程大题的第七道题。

同样,这道题也是非常有难度的一道题。

一起来看一下吧解析:女孩的程序1、在进行编程之前,我们需要把女孩的造型绘制一下,就如同题目里的一样,把不同造型的小女孩裙子改成不同颜色(要和鼓的颜色对应上)2、先制作两个自定义的积木,这样方便我们进行后续的编写和使用产生随机序列:这个自定义积木的用处是用来进行第一步小女孩随机颜色造型先切换为白色裙子,说:观察颜色序列清空列表1,编号设为0,然后循环四次,编号分别对应1-4,而列表1存储的内容分别是四次随机的造型编号产生完颜色序列,才可以进行下一步也就是敲鼓,用游戏中变量来控制状态敲鼓了:在选择完颜色序列之后,编号变量重置为0,在敲鼓了自定义积木块中,进行判断使用敲第一次鼓的时候,编号为1,列表1存储的第一个造型编号(裙子的颜色)=敲鼓编号(鼓的颜色),那么就是对了,否则就是敲击错误了当编号为4以后,我们就不需要再敲击了,因为四次都敲击正确后,这一轮游戏直接全部正确3、接着敲鼓了的自定义模块讲,那么接下来有两个广播,一个正确,一个错误对吧全部正确加分,说全部正确,汇报一下,紧接着开启新的一轮游戏,也就是再次使用到产生随机序列自定义模块敲击失败,在停止脚本前,更新一下最高分,如果当前分数大于最高分,那么替换掉最高分4、小绿旗,把需要用到的变量创建好,并赋值然后进行一些基本属性设置直接调用我们的产生随机序列积木块5、当接受到敲鼓1-4四个广播指令后,分别对应的给敲鼓编号赋值,对应好颜色就好鼓由于四个鼓的程序基本一样,我只放出一个鼓的程序1、基础属性设置2、游戏进行中时,鼓改变造型出现动态效果,然后广播敲鼓1-4就可以了要使用广播并等待,是因为要先让小女孩那边的程序判断完,不会出现点击一次重复敲击的误判小朋友们学会了吗?这道题是很有难度的一道编程大题,综合使用了变量和列表等难点指令,如果不使用自制积木的话,程序会很冗杂scratch少儿编程第十届蓝桥杯真题解析6本篇scratch教程,我们来讲解一下少儿编程蓝桥杯第十届scratch高级组的第六题---排序。

蓝桥杯java试题及答案

蓝桥杯java试题及答案
//有问题。
/*import java.util.scanner;
import java.util.vector;
public class question1 {
public static long count=0;
private void fullpermutation(vectorcharactersourse, vectorcharacter result) {
*假设用户输入的串长度不超过200个字符。
*/
public class simplestring {
public static void main(string args[]){
string str=;
str=(new scanner(system.in)).nextline();
string []str1=str.split([ ]+);
每个单词间由1个或多个空格分隔。
假设用户输入的串长度不超过200个字符。
package question1_9;
import java.util.scanner;
import java.util.vector;
public class question2 {
public static void main(string[] args) {
index++;
}
index++;
}
for (int i = 0; i vector.size(); i++) {
system.out.print(vector.elementat(i));
}
system.out.println();
} catch (arrayindexoutofboundsexception e) {

第十届蓝桥杯真题编程题1-7解析(高级组)

第十届蓝桥杯真题编程题1-7解析(高级组)

scratch少儿编程第十届蓝桥杯真题7大家好~今天我们来讲解scratch蓝桥杯第十届编程大题的第七道题。

同样,这道题也是非常有难度的一道题。

一起来看一下吧解析:女孩的程序1、在进行编程之前,我们需要把女孩的造型绘制一下,就如同题目里的一样,把不同造型的小女孩裙子改成不同颜色(要和鼓的颜色对应上)2、先制作两个自定义的积木,这样方便我们进行后续的编写和使用产生随机序列:这个自定义积木的用处是用来进行第一步小女孩随机颜色造型先切换为白色裙子,说:观察颜色序列清空列表1,编号设为0,然后循环四次,编号分别对应1-4,而列表1存储的内容分别是四次随机的造型编号产生完颜色序列,才可以进行下一步也就是敲鼓,用游戏中变量来控制状态敲鼓了:在选择完颜色序列之后,编号变量重置为0,在敲鼓了自定义积木块中,进行判断使用敲第一次鼓的时候,编号为1,列表1存储的第一个造型编号(裙子的颜色)=敲鼓编号(鼓的颜色),那么就是对了,否则就是敲击错误了当编号为4以后,我们就不需要再敲击了,因为四次都敲击正确后,这一轮游戏直接全部正确3、接着敲鼓了的自定义模块讲,那么接下来有两个广播,一个正确,一个错误对吧全部正确加分,说全部正确,汇报一下,紧接着开启新的一轮游戏,也就是再次使用到产生随机序列自定义模块敲击失败,在停止脚本前,更新一下最高分,如果当前分数大于最高分,那么替换掉最高分4、小绿旗,把需要用到的变量创建好,并赋值然后进行一些基本属性设置直接调用我们的产生随机序列积木块5、当接受到敲鼓1-4四个广播指令后,分别对应的给敲鼓编号赋值,对应好颜色就好鼓由于四个鼓的程序基本一样,我只放出一个鼓的程序1、基础属性设置2、游戏进行中时,鼓改变造型出现动态效果,然后广播敲鼓1-4就可以了要使用广播并等待,是因为要先让小女孩那边的程序判断完,不会出现点击一次重复敲击的误判小朋友们学会了吗?这道题是很有难度的一道编程大题,综合使用了变量和列表等难点指令,如果不使用自制积木的话,程序会很冗杂scratch少儿编程第十届蓝桥杯真题解析6本篇scratch教程,我们来讲解一下少儿编程蓝桥杯第十届scratch高级组的第六题---排序。

蓝桥杯所有题目

蓝桥杯所有题目

1.A+B问题问题描述输入A、B,输出A+B。

说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。

输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。

输出格式输出一行,包括一个整数,表示A+B的值。

样例输入12 45样例输出57数据规模与约定-10000 <= A, B <= 10000。

2.序列求和问题描述求1+2+3+...+n的值。

输入格式输入包括一个整数n。

输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。

样例输入4样例输出10样例输入100样例输出5050数据规模与约定1 <= n <= 1,000,000,0003.圆的面积问题描述给定圆的半径r,求圆的面积。

输入格式输入包含一个整数r,表示圆的半径。

输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。

样例输入4样例输出50.2654825数据规模与约定1 <= r <= 10000。

提示本题对精度要求较高,请注意π的值应该取较精确的值。

你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。

4.Fibonacci数列问题描述Fibonacci数列的递推公式为:F n=F n-1+F n-2,其中F1=F2=1。

当n比较大时,F n也非常大,现在我们想知道,F n除以10007的余数是多少。

输入格式输入包含一个整数n。

输出格式输出一行,包含一个整数,表示F n除以10007的余数。

说明:在本题中,答案是要求F n除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出F n的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入10样例输出55样例输入22样例输出7704数据规模与约定1 <= n <= 1,000,000。

蓝桥杯初赛b组试题

蓝桥杯初赛b组试题

蓝桥杯初赛b组试题————————————————————————————————作者:————————————————————————————————日期:第一题结果填空3‘奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。

虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。

某抽奖活动的奖券号码是5位数(10-99),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。

请提交该数字(一个整数),不要写任何多余的内容或说明性文字。

-题解:考试的时候写了个回溯法,然后屁颠屁颠的开始做下面一题了。

结果错了→_→1 #include <iostream>2using namespace std;3bool fuck(int t)4 {5while(t)6 {7if(t%10==4)return false;8 t/=10;9 }10return true;11 }12int main()13 {14int ans = 0, t = 10;15while(t<100)16if(fuck(t++))ans++;17 cout<<ans<<endl;18return0;19 }第一题正确答案:52488(我居然上来第一题就错了居然写了13440→_→)//cout<<8*9*9*9*9; →_→第二题结果填空5‘星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。

每个炸弹都可以设定多少天之后爆炸。

比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。

有一个贝塔炸弹,2014年11月9日放置,定时为1天,请你计算它爆炸的准确日期。

请填写该日期,格式为yyyy-mm-dd 即4位年份2位月份2位日期。

比如:2015-02-19 请严格按照格式书写。

java蓝桥杯b组题目

java蓝桥杯b组题目

java蓝桥杯b组题目
摘要:
1.Java 编程语言简介
2.蓝桥杯B 组题目概述
3.Java 蓝桥杯B 组题目的解题思路和方法
4.总结
正文:
一、Java 编程语言简介
Java 是一种广泛使用的计算机编程语言,它具有跨平台性、安全性、简单性、面向对象等特点,被广泛应用于企业级应用开发、桌面应用、移动应用和Web 开发等领域。

Java 语言的特性使得它在全球范围内拥有大量的开发者社区,成为当今世界最流行的编程语言之一。

二、蓝桥杯B 组题目概述
蓝桥杯是中国的一项全国性计算机科学比赛,每年举办一次,吸引了来自全国各地的大量高校和中学生参加。

蓝桥杯比赛按照参赛选手的年级和水平分为A 组、B 组和C 组。

B 组是针对高中生举办的比赛,主要考察选手的计算机编程能力。

三、Java 蓝桥杯B 组题目的解题思路和方法
对于Java 蓝桥杯B 组题目,解题的关键在于深入理解Java 编程语言的基本语法和面向对象编程的思想,熟练掌握Java 的常用类库和API,以及灵活运用数据结构和算法。

在解题过程中,需要注意以下几点:
1.仔细阅读题目,理解题目要求和约束条件,确定解题思路。

2.编写代码时,要注重代码的可读性和可维护性,遵循Java 编码规范。

3.在编写程序时,要充分考虑边界条件和异常情况,保证程序的健壮性。

4.在解决复杂问题时,可以采用分治、动态规划等算法思想,提高程序的效率。

四、总结
Java 蓝桥杯B 组题目是针对高中生举办的计算机编程比赛,对于提高选手的编程能力和解决实际问题的能力有重要意义。

2019第十届蓝桥杯JavaB组省赛真题详解

2019第十届蓝桥杯JavaB组省赛真题详解

2019第⼗届蓝桥杯JavaB组省赛真题详解第⼀题:组队题⽬描述作为篮球队教练,你需要从以下名单中选出 1 号位⾄ 5 号位各⼀名球员,组成球队的⾸发阵容。

每位球员担任 1 号位⾄ 5 号位时的评分如下表所⽰。

请你计算⾸发阵容 1 号位⾄ 5 号位的评分之和最⼤可能是多少?(如果你把以上⽂字复制到⽂本⽂件中,请务必检查复制的内容是否与⽂档中的⼀致。

在试题⽬录下有⼀个⽂件team.txt,内容与上⾯表格中的相同,请注意第⼀列是编号)【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。

本题的结果为⼀个整数,在提交答案时只填写这个整数,填写多余的内容将⽆法得分。

第⼆题:不同⼦串题⽬描述⼀个字符串的⾮空⼦串是指字符串中长度⾄少为 1 的连续的⼀段字符组成的串。

例如,字符串aaab 有⾮空⼦串a, b, aa, ab, aaa, aab, aaab,⼀共 7 个。

注意在计算时,只算本质不同的串的个数。

请问,字符串0100110001010001 有多少个不同的⾮空⼦串?【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。

本题的结果为⼀个整数,在提交答案时只填写这个整数,填写多余的内容将⽆法得分。

第三题:数列求值题⽬描述给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。

求第 20190324 项的最后 4 位数字。

【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。

本题的结果为⼀个 4 位整数(提⽰:答案的千位不为 0),在提交答案时只填写这个整数,填写多余的内容将⽆法得分。

第四题:数的分解题⽬描述把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,⼀共有多少种不同的分解⽅法?注意交换 3 个整数的顺序被视为同⼀种⽅法,例如 1000+1001+18 和 1001+1000+18 被视为同⼀种。

十、蓝桥scratch2019.10市赛真题

十、蓝桥scratch2019.10市赛真题

蓝桥scratch2019.10.20市赛真题[复制]您的姓名: [填空题] *_________________________________您授课老师的姓名: [填空题] *_________________________________一、不定项选择题(每题30分,共5题)第1题 *在舞台上添加小猫角色,它所在的位置为(x:-100,y:-50)面向90方向。

舞台布局和程序运行结果如上图所示。

各选项程序中可以实现上图效果的是()。

A.B.(正确答案)C.(正确答案)D.第2题 *在舞台上添加“Beetle”角色,运行程序结果可如上图所示。

选项中哪些程序不能呈现出上图中的作用效果。

各选项程序中不能实现以上效果的是()。

A.(正确答案)B.(正确答案)C.(正确答案)D.第3题 [单选题] *角色小鱼在运行如下程序5秒后,舞台上能看到几只小鱼?()A.3B.4C.5D.没有正确选项 _________________ * (正确答案)第4题 [单选题] *小明想要做一个地球围绕太阳旋转的动画。

如下图所示,舞台上有两个角色,分别是“太阳”“地球”。

小明还为“太阳”和“地球”角色分别写了如下程序。

当程序运行后,“地球”以“太阳”为中心做圆周运动(沿着图中蓝色线条移动)。

不过,要实现这些功能还需要对“地球”角色进行中心点设置才行。

以下哪一种设置不能达到地球围绕太阳旋转的效果呢?()A.B.C.(正确答案)D.第5题 *下面这些程序中,不能让我们看到:小猫从1开始说,一直说到5,说完以后停止程序。

这样的程序有哪些?()A.(正确答案)B.(正确答案)C.(正确答案)D.(正确答案)二、编程题操作题第1题 [上传文件题]准备工作:1)导入背景库的“Beetle”并删除小猫角色。

编程实现:1)程序持续运行;2)当绿旗被点击,角色出现在舞台的(0,0)位置;3)将画笔颜色设置为红色,画笔粗细设置为54)上键控制向左转动90,下键控制向右转动90,左键控制移动20,右键控制移动-20;5)角色运动中画笔会画出其运动路径6)当角色移动到屏幕边界,角色消失背景变成黑色。

蓝桥杯高职java试题及部分参考答案

蓝桥杯高职java试题及部分参考答案

2019年选拔赛 java 高职考生须知:考试时间为4小时。

本试卷包含两种题型:“代码填空”与“程序设计”。

总计100分。

其中代码填空:3+3+4+6+7+9+10 = 42 分程序设计:14+17+27 = 58分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

所填写的代码不超过一条语句(即不能出现分号)。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。

考生的程序只有能运行出正确结果的时候才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对每个题目,要求考生把所有类写在一个文件中。

调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。

相关的工程文件不要拷入。

请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。

不能使用1.6或更高版本。

1.代码填空(满分3分)计算蔬菜总价为了丰富群众菜篮子,平抑菜价,相关部分组织了蔬菜的调运。

今某箱中有多个品种的蔬菜。

蔬菜的单价(元/公斤)存放在price数组中,蔬菜的重量(公斤)存放在weight数组中。

下面的代码计算该箱蔬菜的总价,试完善之。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

public static double getTotal(double[] price, double[] weight)double x = 0;for(int i=0; i<price.length; i++)____________________;return x;2.代码填空(满分3分)计算行程低碳生活,有氧运动。

骑自行车出行是个好主意。

小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数。

蓝桥杯模拟试题java本科组试题及答案

蓝桥杯模拟试题java本科组试题及答案

2011 模拟 java 本科1.代码设计(满分5分) 625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。

除了625,还有其它的3位数有这个特征吗?位数有这个特征吗?请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。

数字本身。

输出结果中,从小到大,每个找到的数字占一行。

比如那个625就输出为:625public static void main(String[] args) {int temp = 0;for (int i = 100; i <= 999; ++i){temp = i*i;temp %= 1000;if (temp == i)System.out .println(i); }}2.代码设计(满分11分) 考虑方程式:a^3 + b^3 = c^3 + d^3其中:“^”表示乘方。

a 、b 、c 、d 是互不相同的小于30的正整数.这个方程有很多解。

比如:a = 1,b=12,c=9,d=10 就是一个解。

因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729.当然,a=12,b=1,c=9,d=10 显然也是解。

显然也是解。

如果不计abcd 交换次序的情况,这算同一个解。

你的任务是:找到所有小于30的不同的正整数解。

把a b c d 按从小到大排列,用逗号分隔,每个解占用1行。

比如,刚才的解输出为:1,9,10,12 不同解间的顺序可以不考虑。

不同解间的顺序可以不考虑。

public static void main(String[] args) {int []arr = newint [31]; for (int i = 1; i <= 30; ++i){arr[i] = (int )i*i*i;}for (int a = 1 ; a <= 27; ++a){for (int b = a+1 ; b <= 28; ++b){for (int c = b+1 ; c <= 29; ++c){ for (int d = c+1 ; d <= 30; ++d){ if ((arr[a] + arr[d])==(arr[b] + arr[c]))System.out .println(a + .println(a + ",""," + b + "," + c + + c + ",""," + d);}}}}}3.代码设计(满分18分) 整数的分划问题。

2019年第十届蓝桥杯JAVAG组——试题E:RSA解密

2019年第十届蓝桥杯JAVAG组——试题E:RSA解密

2019年第⼗届蓝桥杯JAVAG组——试题E:RSA解密【问题描述】本题总分:15 分RSA 是⼀种经典的加密算法。

它的基本加密过程如下。

⾸先⽣成两个质数 p, q,令 n = p · q,设 d 与 (p − 1) · (q − 1) 互质,则可找到 e 使得 d · e 除 (p − 1) · (q − 1) 的余数为 1。

n, d, e 组成了私钥,n, d组成了公钥。

当使⽤公钥加密⼀个整数 X 时(⼩于 n),计算 C = X^d mod n,则 C 是加密后的密⽂。

当收到密⽂ C 时,可使⽤私钥解开,计算公式为 X = C^e mod n。

例如,当 p = 5, q = 11, d = 3 时,n = 55, e = 27。

若加密数字 24,得 243 mod 55 = 19。

解密数字 19,得 1927 mod 55 = 24。

现在你知道公钥中 n = 1001733993063167141, d = 212353,同时你截获了别⼈发送的密⽂ C = 20190324,请问,原⽂是多少?【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。

本题的结果为⼀个整数,在提交答案时只填写这个整数,填写多余的内容将⽆法得分。

分析这题⼀开始想通过暴⼒搜索将p和q算出来,再去。

等,后来发现⾃⼰的思路已经错了,然后去看了⼀位⼤神的博客,他⾥⾯是先求e,然后利⽤公式 X = C^e mod n求出原来加密之前的整数。

因为经过发现我们可以知道这⾥其实是要⽤⼀个叫作拓展欧⼏⾥得原理的,拓展欧⼏⾥得原理也是基于两个数求最⼤公约数⽽来的。

拓展欧⼏⾥得原理可以⽤来解这样的不定⽅程:aX + bY = c(求X,Y)若c不是gcd(a,b)的倍数,则该不定⽅程⼀定⽆解则问题可以转化为求不定⽅程的⼀组解{x,y}:aX + by = gcd(a,b)这个求解过程⽤到了扩展欧⼏⾥得原理、快速幂和快速乘。

2019蓝桥杯国赛备赛题库

2019蓝桥杯国赛备赛题库

2019蓝桥杯国赛备赛题库代码填空题全排列 By 2018计蒜客蓝桥杯省赛B组模拟相信⼤家都知道什么是全排列,但是今天的全排列⽐你想象中的难⼀点。

我们要找的是全排列中,排列结果互不相同的个数。

⽐如:aab的全排列就只有三种,那就是aab,baa,aba。

代码框中的代码是⼀种实现,请分析并填写缺失的代码。

#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N=1e3;char str[N], buf[N];//bufferint vis[N], total, len;void arrange(int num) {if (num == len){printf("%s\n", buf);total++;return;}for (int i = 0; i < len; ++i) {if (!vis[i]) {int j;for (j = i + 1; j < len; ++j) {if (/*填⼊代码*/) {break;}}if (j == len) {vis[i] = 1;buf[num] = str[i];arrange(num + 1);vis[i] = 0;}}}}int main() {while (~scanf("%s",str)) {len = strlen(str);sort(str, str + len);total = 0;buf[len] = '\0';arrange(0);printf("Total %d\n", total);}return 0;}View Code这个函数可以求出去重后的全排列。

第十届蓝桥杯省赛-试题E:RSA解密

第十届蓝桥杯省赛-试题E:RSA解密

第⼗届蓝桥杯省赛-试题E:RSA解密试题E: RSA 解密这⾥涉及到很多数论的知识:质因⼦分解,扩展欧⼏⾥得算法,快速幂算法,利⽤快速乘算法求解快速幂(mod 太⼤导致不能直接乘,⽽是需要使⽤加法来替代乘法)另外还需要注意扩展欧⼏⾥得算法求解出来的乘法逆可能是负数,所以需要使⽤公式进⾏转换。

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<vector>#include<queue>#include<fstream>using namespace std;typedef long long LL;/*⾸先⽣成两个质数p, q,令n = p * q,设d 与(p -1)*(q -1) 互质,则可找到e 使得d * e 除(p-1)*(q -1) 的余数为1。

现在你知道公钥中n = 1001733993063167141, d = 212353,同时你截获了别⼈发送的密⽂C = 20190324,请问,原⽂是多少?当收到密⽂C 时,可使⽤私钥解开,计算公式为X = C^e mod n。

答案:579706994112328949*//*p=891234941 q=1123984201*///扩展欧⼏⾥得算法void exgcd(LL a,LL b,LL&d,LL& x,LL& y){//d=gcd(a,b)if(!b){d=a;x=1;y=0;}else{exgcd(b,a%b,d,y,x);y-=x*(a/b);}}//快速乘LL quickMul(LL a,LL b,LL mod){LL ans=0;//这⾥初值为0while(b){if(b&1)ans=(ans+a)%mod;a=(a+a)%mod;b>>=1;}return ans%mod;}LL quickPower(LL a,LL b,LL mod){LL ans=1;//注意这⾥初值是1while(b){if(b&1)ans=quickMul(ans,a,mod)%mod;a=quickMul(a,a,mod)%mod;b>>=1;}return ans%mod;}int main(){LL n=1001733993063167141;//分解质因数for(LL i=2;i*i<=n;i++){while(n%i==0){//cout<<i<<" "<<n/i<<endl;//两个质数n/=i;}}LL p=891234941,q=1123984201;LL mod=(p-1)*(q-1);LL d=212353;LL e,y,gcd;//d*e==1(%mod)//扩展欧⼏⾥得算法exgcd(d,mod,gcd,e,y);e=(e%mod+mod)%mod;//这⾥是因为e可能为负数//cout<<e<<endl;LL c=20190324;n=1001733993063167141;//X = C^e mod nLL x;//快速幂和快速乘相结合cout<<quickPower(c,e,n)<<endl; return 0;}。

2019蓝桥杯B组第9题:后缀表达式

2019蓝桥杯B组第9题:后缀表达式

2019蓝桥杯B组第9题:后缀表达式题⽬描述:后缀表达式思路挺离谱的⼀道题,巨坑巨坑。

刚开始拿到这道题的时候,以为是道⽔题,减掉最⼩的,加最⼤的就可以了,后来发现我太天真了,真的太天真了。

看这道题前,我们先来了解⼀下什么是后缀表达式:1. 我们⽇常⽣活中常⽤的是中缀表达式:1+1+2=4,除了中缀表达式之外还有前缀表达式和后缀表达式2. 前缀表达式就是把+-*/ 都放在前⾯⽐如 ++1 1 2 = 43. 后缀表达式就是把+-*/ 都放在后⾯⽐如 1 1 2 ++ = 44. 计算机在计算的时候⽐较喜欢后缀表达式,⼈类在计算的时候⽐较喜欢中缀表达式5. 计算机计算后缀表达式的⽅法是这样的:遇到数字时⼊栈,遇到+-*/时取出栈中的前两个数做运算结果再⼊栈,反复如此。

通过观察我们可以发现,后缀表达式时可以顺便加括号的。

所以我们只要有⼀个负号,我们就可以随便更改其他负号,毕竟负负得正,负正得负所以所以------我们只需要减掉最⼩值,加上最⼤值,再加上中间所有数的绝对值,得到的结果就是答案最⼤值。

看到这⾥你可能会⼀脸懵逼,不妨去写⼀些例⼦试⼀下,很神奇的⼀个思路。

代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 1e6+10;int n,m,k;ll sum;ll a[maxn];int main(){scanf("%d%d",&n,&m);k = n+m+1;for(int i = 0;i<k;i++){scanf("%lld",&a[i]);}sum = 0;if(!m){for(int i = 0;i<k;i++){sum+=a[i];}printf("%lld",sum);return 0;}else{sort(a,a+k);sum-=a[0];sum+=a[k-1];for(int i = 1;i<k-1;i++){sum+=abs(a[i]);}}printf("%lld",sum);return 0;}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01010101001011001001010110010110100100001000101010 00001000100000101010010000100000001001100110100101 01111011010010001000001101001011100011000000010000 01000000001010100011010000101000001010101011001011 00011111000000101000010010100010100000101100000000 11001000110101000010101100011010011010101011110111 00011011010101001001001010000001000101001110000000
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题 D: 数的分解
6
第十届蓝桥杯大赛软件类省赛Java大学B组
试题 E: 迷宫
本题总分:15 分
【问题描述】
下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方。
如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果 优先级小于等于 3,则会被清除出优先缓存。
给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优 先缓存中。
【输入格式】
第一行包含 3 个整数 N、M 和 T 。 以下 M 行每行包含两个整数 ts 和 id,表示 ts 时刻编号 id 的外卖店收到 一个订单。
97
0
12
0
0
0
93
98
13 94
91
0
0
0
14
0
83
87
0
0
15
0
0
98
97
98
16
0
0
0
93
86
17 98
83
99
98
81
18 93
87
92
96
98
19
0
0
0
89
92
20
0
99
96
95
81
(如果你把以上文字复制到文本文件中,请务必检查复制的内容是否与文 档中的一致。在试题目录下有一个文件 team.txt,内容与上面表格中的相同, 请注意第一列是编号)
【样例输入】
40
【样例输出】
574
【评测用例规模与约定】
对于 20% 的评测用例,1 ≤ n ≤ 10。 对于 50% 的评测用例,1 ≤ n ≤ 101 ≤ n ≤ 10000。
试题 F: 特别数的和
9
第十届蓝桥杯大赛软件类省赛Java大学B组
对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式, 其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。 请注意在字典序中D<L<R<U。(如果你把以下文字复制到文本文件中,请务 必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 maze.txt, 内容与下面的文本相同)
第十届蓝桥杯大赛软件类省赛
1
第十届蓝桥杯大赛软件类省赛 Java 大学 B 组
试题 A: 组队
本题总分:5 分
【问题描述】
作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容。
每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少?
【输出格式】
输出一个整数代表答案。
【样例输入】
266 11 52 31 62 21 62
试题G: 外卖店优先级
10
第十届蓝桥杯大赛软件类省赛 Java 大学 B 组
【样例输出】
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。
试题 G: 外卖店优先级
11
第十届蓝桥杯大赛软件类省赛Java大学B组
试题 H: 人物相关性分析
时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分
第十届蓝桥杯大赛软件类省赛 Java 大学 B 组
第十届蓝桥杯大赛软件类省赛
Java 大学 B 组
【考生须知】
考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试 题。
考试时间为 4 小时。考试期间选手可浏览自己已经提交的答案,被浏览的 答案允许拷贝。时间截止后,将无法继续提交或浏览答案。
请问,字符串0100110001010001 有多少个不同的非空子串?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题 B: 不同子串
4
第十届蓝桥杯大赛软件类省赛 Java 大学 B 组
试题 C: 数列求值
试题 G: 外卖店优先级
时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分
【问题描述】
“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有 一个优先级,初始时 (0 时刻) 优先级都为 0。
每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减 到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个字符串,包含四种字母 D、U、L、R,在提交答案时只填写这个字符串,填 写多余的内容将无法得分。
试题 E: 迷宫
8
第十届蓝桥杯大赛软件类省赛 Java 大学 B 组
试题 F: 特别数的和
时间限制: 1.0s 内存限制: 512.0MB 本题总分:15 分
010000 000100 001001 110000
迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。
对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫, 一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、向右走。
试题E: 迷宫
7
第十届蓝桥杯大赛软件类省赛 Java 大学 B 组
10100000101000100110101010111110011000010000111010 00111000001010100001100010000001000101001100001001 11000110100001110010001001010101010101010001101000 00010000100100000101001010101110100010101010000101 11100100101001001000010000010101010100100100010100 00000010000000101011001111010001100000101010100011 10101010011100001000011000010110011110110100001000 10101010100001101010100101000010100000111011101001 10000000101100010000101100101101001011100000000100 10101001000000010100100001000100000100011110101001 00101001010101101001010100011010101101110000110101 11001010000100001100000010100101000001000111000010 00001000110000110101101000000100101001001000011101 10100101000101000000001110110010110101101010100001 00101000010000110101010000100010001001000100010101 10100001000110010001000010101001010101011111010010 00000100101000000110010100101001000001000000000010 11010000001001110111001001000011101001011011101000 00000110100010001000100000001000011101000000110011 10101000101000100010001111100010101001010000001000 10000010100101001010110000000100101010001011101000 00111100001000010000000110111000000001000000001011 10000001100111010111010001000110111010101101111000
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它 方式提交的答案无效。 试题包含“结果填空”和“程序设计”两种题型。 结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要 求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。 程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。 考生的程序只有能运行出正确结果才有机会得分。 注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。 选手的程序必须是通用的,不能只对试卷中给定的数据有效。 所有源码必须在同一文件中。调试通过后,拷贝提交。 注意:不要使用 package 语句。 注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
相关文档
最新文档