2019第十届蓝桥杯JAVA G组题解
蓝桥杯历年真题及解析.
package JG2019;
//试题 A: 立方和
import java.math.BigInteger;public class A {public static boolean check(int i){int x=0;while(i>0){x=i%10;i/=10;if(x==2||x==1||x==0||x==9){return true;}}return false;}public static void main(String[] args) {BigInteger sum=new BigInteger("0");for(int i=0;i<=2019;i++){if(check(i)){BigInteger ii=new BigInteger(String .valueOf(i));sum=sum.add(ii.multiply(ii).multiply(ii));}}System.out.println(sum);}
}
package JG2019;
//试题 B: 字串数字
import java.math.BigInteger;public class B {public static void main(String[] args) {String s="lanqiao";char c[]=s.toCharArray();BigInteger ans=new BigInteger("0");BigInteger b=new BigInteger("1");BigInteger bb=new BigInteger("26");for(int i=c.length-1;i>=0;i--){BigInteger x=new BigInteger(String.valueOf(c[i]-'a'+1));ans=ans.add(x.multiply(b));b=b.multiply(bb);}System.out.println(ans);}
}
package JG2019;
//试题 C: 质数
public class C{public static boolean check(int n){for(int i=2;i<=Math.sqrt(n);i++){if((n/i)*i==n){return false;}}return true;}public static void main(String[] args) {int arr[]=new int [2019];boolean is[]=new boolean[100000];int p=0;for(int i=2;i<is.length;i++){if(is[i])continue;else if(check(i)){arr[p]=i;p++;if(p==2019)break;for(int j=i;j<is.length;j+=i){is[j]=true;}}}System.out.println(arr[2018]);}
}
package JG2019;
//试题 D: 最短路
public class D {public static void main(String[] args) {System.out.println(3 * 2);}
}
package JG2019;
//试题 E: RSA 解密
public class E {public static long p, q, m, x, y, n = 1001733993063167141L;;public static void main(String[] args) {long d = 212353L;long c = 20190324L;p = 2;while (true) {if ((n / p) * p == n) {q = n / p;break;}p++;}m = (p - 1) * (q - 1);long[] ans = gcd(d, m);ans[1] = (ans[1] + m) % m;System.out.println(qpow(c, ans[1]));}public static long[] gcd(long a, long b) {long ans;long[] result = new long[3];if (b == 0) {result[0] = a;result[1] = 1;result[2] = 0;return result;}long[] temp = gcd(b, a % b);ans = temp[0];result[0] = ans;result[1] = temp[2];result[2] = temp[1] - (a / b) * temp[2];return result;}public static long qpow(long a, long b) {long ans = 1;while (b > 0) {if (b % 2 == 1)ans = qmul(ans, a);a = qmul(a, a);b /= 2;}return ans;}public static long qmul(long a, long b) {long ans = 0;while (b > 0) {if (b % 2 == 1) {ans += a;ans %= n;}a *= 2;a %= n;b /= 2;}return ans;}
}
package JG2019;
//试题 F: Fibonacci 数列与黄金分割
import java.util.Scanner;public class F {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int arr[]=new int[40];arr[1]=1;arr[2]=1;for(int i=3;i<40;i++ ){arr[i]=arr[i-1]+arr[i-2];}if(n<39){System.out.println(String.format("%.8f",arr[n]/(double)arr[n+1]));}else{System.out.println(String.format("%.8f",arr[38]/(double)arr[39]));}}
}
- 它们最终都返回出发方格,
- 每个方格区域都至少被清扫一遍,
- 从机器人开始行动到最后一台机器人归位花费的时间最少。
注意多台机器人可以同时清扫同一方块区域,它们不会互相影响。
输出最少花费的时间。
在上图所示的例子中,最少花费时间是 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。
试题 G: 扫地机器人 8
第十届蓝桥杯大赛软件类省赛 Java 研究生组
【输出格式】
输出一个整数表示答案。
【样例输入】
10 3
52
10
【样例输出】
6
【评测用例规模与约定】
对于 30% 的评测用例,1 ≤ K < N ≤ 10。
对于 60% 的评测用例,1 ≤ K < N ≤ 1000。
对于所有评测用例,1 ≤ K < N ≤ 100000,1 ≤ Ai ≤ N。
package JG2019;
//************
//试题 G: 扫地机器人
import java.util.Arrays;
import java.util.Scanner;public class G {public static int n;public static int arr[];public static int ans=Integer.MAX_VALUE;public static void main(String[] args) {Scanner sc=new Scanner (System.in);n=sc.nextInt();int k=sc.nextInt();arr=new int[k+1];for(int i=1;i<=k;i++){arr[i]=sc.nextInt();}Arrays.sort(arr);System.out.println(Arrays.toString(arr));dfs(1,0,0);System.out.println((ans-1)*2);}public static void dfs(int k,int max,int up){if(k==1){dfs(k+1,0,arr[1]);}else if(k==arr.length){max=max>(up+n-arr[k-1])?max:(up+n-arr[k-1]);ans=max>ans?ans:max;}else {if(arr[k]-arr[k-1]==0){dfs(k+1,max,up);}elsefor(int i=0;i<(arr[k]-arr[k-1]);i++){dfs(k+1,max>(up+i)?max:(up+i),arr[k]-arr[k-1]-i);}}}
}
package JG2019;
//试题 H: 修改数组
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;public class H {public static void main(String[] args) throws IOException {StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));in.nextToken();int n=(int) in.nval;int arr[]=new int [n];int i=0;int max=Integer.MIN_VALUE,min=Integer.MAX_VALUE;while (i<n) {in.nextToken();arr[i]= (int) in.nval;max=arr[i]>max?arr[i]:max;min=arr[i]<min?arr[i]:min;i++;}boolean buf[]=new boolean[max-min+1];int count=1;for(i=0;i<n;i++){if(!buf[arr[i]-min]){buf[arr[i]-min]=true;}else{boolean ok=false;for(int j=arr[i]-min;j<=max-min;j++){if(!buf[j]){buf[j]=true;arr[i]=j+min;ok=true;break;}}if(!ok){arr[i]=max+count;count++;}}}for(i=0;i<n;i++){out.print(arr[i]+" ");}out.flush();//刷新 }
}
2019第十届蓝桥杯JAVA G组题解相关推荐
- 2019 第十届蓝桥杯 Java B组 赛后总结
我是大三第一次参加蓝桥杯,也是最后一次参加了(大四应该没时间了).我参加的是java b组,总体来说赛程挺顺利的,第一次参赛觉得四个小时有点不够哈哈哈.不过蓝桥杯这个比赛我是带着试一下的心态去参加的. ...
- 2019第十届蓝桥杯C++B组题解(赛后重写的,不确保答案正确性,仅供参考)
先说一下这次的感受吧,我们考场比较乱,开始比赛了,还有的电脑有故障,(向这些人发出同情),第一次认真参加比赛,真正比赛的时候感觉没有那么正式,很乱,各种小问题,(例如博主就没找到题目在哪里,找到后又不 ...
- 2019第十届蓝桥杯JAVA B组题目分析
目录 A:组队(难度:★★★) 分析: 代码 B:不同字串(难度:★) 分析: 代码: C:数列求值(难度:★) 分析: 代码: D:数的分解:(难度:★★) 分析: 代码: E:迷宫:(难度:★★★ ...
- 蓝桥杯java 大纲,2019 第十届蓝桥杯Java省赛B组个人总结
前言 19年的这场蓝桥杯,对我自己的打击挺大的,以至于时隔多个月之后第十一届蓝桥杯要开始报名的时候,我才敢面对他.报名第十届蓝桥杯的时候我大二,自我感觉学的不错,但事实并非如此,当入了那句话,学术不精 ...
- 2019第十届蓝桥杯c++A组省赛试题及个人解法
第十届蓝桥杯2019年C/C++ 大学A组省赛试题 2019年蓝桥杯第十届软件类省赛# C/C++ 大 学 A 组# 试题 A: 平方和#(暴力) 本题总分:5 分 [问题描述] 小明对数位中含有 2 ...
- 第十届蓝桥杯java B组—试题D 数的分解
文章目录 1.大赛题目 2.文字描述如下 3.代码实例 4.答案 1.大赛题目 图片如下: 2.文字描述如下 试题 D: 数的分解 [问题描述] 把 2019 分解成 3 个各不相同的正整数之和,并且 ...
- 第十届蓝桥杯java B组—试题I 后缀表达式
文章目录 1.大赛题目 2.文字描述 3.代码实例 4.答案 1.大赛题目 图片如下 2.文字描述 试题 I: 后缀表达式 [问题描述] 给定 N 个加号.M 个减号以及 N + M + 1 个整数 ...
- 第十届蓝桥杯java B组—试题F 特别数的和
文章目录 1.大赛题目 2.文字描述如下 3.代码实例 1.大赛题目 图片如下 2.文字描述如下 试题 F: 特别数的和 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣(不包括前导 0 ...
- 第十届蓝桥杯java B组—试题C 数列求值
文章目录 1.大赛题目 2.文字描述如下 3.详细讲解 4.答案 1.大赛题目 1.图片如下: 2.文字描述如下 试题 C: 数列求值 [问题描述] 给定数列 1, 1, 1, 3, 5, 9, 17 ...
最新文章
- POJ - 2516 Minimum Cost 最小费用最大流
- 总结MYSQL的优化
- Redis缓存穿透、击穿、雪崩及主从复制
- 二级考试java模拟考试_2017年计算机二级考试Java模拟试题及答案
- VMware14.0 安装 CentOS7.2
- WPF ----在UserControl的xaml里绑定依赖属性
- 如何通过文件流将很多图片存入SD卡,而不是自己内存
- 杀毒软件的一些杀毒原理
- 腾讯云通信IM集成踩坑记
- mysql 1548_MySQL创建函数由于Error 1548失败
- elementUI实现table表头展示上、下角标
- 简易爬虫-利用Python爬虫爬取圣墟小说到本地
- python学习笔记(七):运算符和流程控制
- 关于单片机代码的风格
- 2022起重机司机(限桥式起重机)上岗证题目及在线模拟考试
- Mybatis个人基础知识总结
- R语言 变量的操作函数
- 【EXCEL简单考勤】
- python做二元线性回归_python上的二元线性回归
- 还有多少“天价”滞纳金与民争利
热门文章
- java mysql 订单表设计
- 第9周 Python计算生态概览
- 谈谈数据决策平台搭建的必要性
- 被小伙伴要出来的文章[0]:英语学习
- rails 评论/回复插件 acts_as_commentable_with_threading
- 【noi.ac #596】road
- EasyClick iOS脚本免越狱免硬件实现方案_可云控大量部署
- Android 控件右上角角标的实现方案
- .ts 音频文件转换成 .mp3 文件
- Banner本地,网络,图片轮播