A.组队

题目描述:

作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容。

每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少?

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

(1).由题意可得,这一号到五号,不会存在与同一行,所以我们直接可找出每一列的最大两个数,然后进行选择相加得值

(2).或者将数据存入二维数组,for循环加判断。

B.不同子串

题目描述:

一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。

请问,字符串0100110001010001 有多少个不同的非空子串?

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

(1).题目中提到了不同的子串,所以我们可以选择用集合,将满足要求的组合放入集合中,最后.size()得到个数;

(2).用双重循环遍历,然后获取子字符串;其中用到string中的substring(i,j);

第二题:不同字串(集合)

public class 第十届蓝桥杯 {

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner in=new Scanner(System.in);

HashSetset=new HashSet();

String sc=in.nextLine();

for(int i=0;i

{

for(int j=i+1;j<=sc.length();j++)

{

set.add(sc.substring(i,j));

}

}

System.out.println(set.size());//100

}

}

C.数列求值

题目描述:

给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求 第 20190324 项的最后 4 位数字。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个 4 位整数(提示:答案的千位不为 0),在提交答案时只填写这个整数,填写 多余的内容将无法得分。

第一眼:乍一看,每项都是前几项得和,我们可能会很快想到好像斐波那契数列,但是,这里求得是20190324项得最后四位数字

发现只是求最后4位数字,这也就变相得说明了它所受到的影响只来自于相加数的末四位,所以我们可以边遍历到20190324,边加边只保留后四位,同时也不会溢出

//第三题:数列求值

public class 第十届蓝桥杯 {

public static void main(String[] args) {

// TODO Auto-generated method stub

int i=1,j=1,k=1;

int sum=0;

for(int a=4;a<=20190324;a++)

{

sum=(i+j+k)%10000;i=j;j=k;;k=sum;

}

System.out.println(sum);//4659

}

}

D.数的分解

题目描述:

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

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

(1).第一想到的是三重循环,在每一重里面都进行一个判断(是否包含数字2和4),最后一重判断相加是否等于2019;

(2).题目中提到各不相同,排列组合公式共六种(ABC,ACB,BAC,BCA,CAB,CBA),同时交换顺序视为一种,所以最后有也就剩ABC这一种排列方式,令j=i+1,k=j+1,可减少次数;

第四题:数的分解

public class 第十届蓝桥杯 {

public static boolean fenjie(int a)

{

while(a>0)

{

if(a%10==2||a%10==4) {

return true;

}a/=10;

}

return false;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

int ans=0;

for(int i=1;i<2019;i++)

{

if(fenjie(i))

continue;

for(int j=i+1;j<2019;j++)

{

if(fenjie(j))

continue;

for(int k=j+1;k<2019;k++)

{

if(fenjie(k))

continue;

if(i+j+k==2019) {

ans++;

}

}

}

}

System.out.println(ans);//40785

}

}

第二种方法(字符串查找)

(3).后面想到可以用字符串查找的方式做

public class 第十届蓝桥杯 {

public static void main(String[] args) {

int num = 0;

for (int i = 1; i < 2019; i++) {

if ((i + "").indexOf("2") != -1 || (i + "").indexOf("4") != -1)

continue;

for (int j = i + 1; j < 2019; j++) {

if ((j + "").indexOf("2") != -1 || (j + "").indexOf("4") != -1)

continue;

for(int k=j+1;k<2019;k++)

{

if ((k+ "").indexOf("2") != -1 || (k + "").indexOf("4") != -1) {

continue;

}

if(i+j+k==2019)

num++;

}

}

}

System.out.println(num);//40785

}

}

F.特别的数

时间限制: 1.0s 内存限制: 512.0MB 本题总分:15 分

【问题描述】

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 n 中,所有这样的数的和是多少?

【输入格式】

输入一行包含两个整数 n。

【输出格式】

输出一行,包含一个整数,表示满足条件的数的和。

【样例输入】 40

【样例输出】 574

【评测用例规模与约定】 对于 20% 的评测用例,1≤n≤10。 对于 50% 的评测用例,1≤n≤100。 对于 80% 的评测用例,1≤n≤1000。 对于所有评测用例,1≤n≤10000。

(1).将int转换为String,用String.indexof()判断;

(2).使用while循环加%和/进心计算判断

第六题:特别数的和

public class 第十届蓝桥杯 {

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int n=in.nextInt();int ans=0;

for(int i=1;i<=n;i++)

{

int a=i;

while(a>0)

{

if(a%10==2||a%10==0||a%10==1||a%10==9) {

ans+=i;break;

}

a/=10;

}

}

System.out.println(ans);//样例40,输出574

}

}

特别的数第二种方法(.indexOf())

第六题:特别数的(字符解决方法)

public class 第十届蓝桥杯 {

public static void main(String[] args) {

//先将1-n的数字转换为string,用string中的indexof();

Scanner in=new Scanner (System.in);

int n=in.nextInt();

int ans=0;

for(int i=1;i<=n;i++)

{

String ss=Integer.toString(i);

if(ss.indexOf("2")!=-1||ss.indexOf("0")!=-1||ss.indexOf("1")!=-1||ss.indexOf("9")!=-1)

{

ans+=i;

}

}

System.out.println(ans);//样例40,输出574

}

}

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

【样例输出】 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

(1).对数据进行处理:设置一个二维数组a[i][j],i表示店铺的编号,j表示某时刻。

(2).循环输入ts,id,相对应a[id][ts]++,表示此时刻有订单;设置一个表示优先缓存店铺数组ans[i],通过对ans[i]的不同操作引起值的变化

(2).1.当a[i][j]==1的时候,则对其ans[i]+=a[i][j]*2;否则ans[i]=Math.max(0,ans[i]-1)

//第五题:外卖优先级

public class 第十届蓝桥杯 {

public static void main(String[] args) {

Scanner in=new Scanner (System.in);

int N=in.nextInt();int M=in.nextInt();int T=in.nextInt();

int [][]a=new int[N+1][M+1];

int []ans=new int[N+1];

HashMap map=new HashMap<>();

//第一步:先进行数据的输入,对输入的数据进行处理

for(int i=0;i

{

int ts=in.nextInt();//时刻

int id=in.nextInt();//店铺编号

if(ts

a[id][ts]++;

}

for(int i=0;i

{

for(int j=0;j

{

if(a[i][j]==1)

ans[i]+=a[i][j]*2;

else ans[i]=Math.max(0, ans[i]-1);

if(ans[i]>5)

map.put(i,1);

if(ans[i]<=3)

map.remove(i);

}

}

System.out.println(map.size());

}

}

I.卡在思考第三种情况,后面想通了补

J.这题有点不会,也后面再补

2019蓝桥杯Java决赛题答案_2019第十届蓝桥杯Java题相关推荐

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

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

  2. 蓝桥杯单片机十一届省赛_“第十届蓝桥杯青少组C++省赛”前三题解题思路及参考答案!...

    关注 及时了解信息学竞赛相关资讯 第十一届蓝桥杯青少组C++省赛即将到来,待考的各位小同学有没有刷完去年的真题呢?以下是为大家复习准备的"第十届蓝桥杯青少组C++省赛"前三题解题思 ...

  3. 蓝桥杯大学组python试题_第十届蓝桥杯2019年C/C++ 大学A组省赛试题

    2019年蓝桥杯第十届软件类省赛 C/C++ 大 学 A 组 试题 A: 平方和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包括 1 ...

  4. 蓝桥杯java提交格式_2019第十届蓝桥杯JAVA省赛B组

    B 不同子串 题目描述 一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串.例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 ...

  5. 2019第十届蓝桥杯A组决赛(国赛)A题(三升序列)

    2019第十届蓝桥杯A组决赛(国赛)A题(三升序列) 输入: VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG SDLLOVGRTWEYZKKXNK ...

  6. java蓝桥杯省赛第十届_2019年第十届蓝桥杯省赛-迷宫(BFS/Excel大法)

    这题用dfs搜不出来,需要使用bfs并记录路径,设置好方向顺序跑就ok 然而毕竟是暴力杯,我们的原则是代码能省就省(懒癌晚期 于是乎网上便出现了形形色色的题解,笔者综合了各路大神神乎其技的思想,总结出 ...

  7. 2019第十届蓝桥杯JAVA G组题解

    蓝桥杯历年真题及解析. 试题 A: 立方和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1.2.9.10 至 32.39 和 ...

  8. 2019 第十届蓝桥杯 Java B组 赛后总结

    我是大三第一次参加蓝桥杯,也是最后一次参加了(大四应该没时间了).我参加的是java b组,总体来说赛程挺顺利的,第一次参赛觉得四个小时有点不够哈哈哈.不过蓝桥杯这个比赛我是带着试一下的心态去参加的. ...

  9. [蓝桥杯]2019年第十届省赛真题C/C++ B组 填空+大题

    第十届蓝桥杯省赛题目 填空A:组队 填空B:年号字串 填空C:数列求值 填空 D: 数的分解 填空 E: 迷宫 大题F:特别数的和 大题G:完全二叉树的权值 大题H:等差数列 大题I-后缀表达式 填空 ...

  10. 2019第十届蓝桥杯大赛软件类省赛C++ C组真题题解

    ============================== 2019-2021蓝桥杯C++ C组真题题解: 2019第十届蓝桥杯大赛软件类省赛C++ C组真题题解 2020第十一届蓝桥杯大赛软件类省 ...

最新文章

  1. 图解易经:一部终于可以读懂的易经 祖行 扫描版 陕西师范大学出版社
  2. 在Git存储库中查找并恢复已删除的文件
  3. 【BZOJ 1096】[ZJOI2007]仓库建设
  4. 使用Gitolite搭建Gitserver
  5. if函数python作用_if __name__== __main__ 的意思(作用)python代码复用
  6. 文件名的查找——find
  7. 后缀数组 倍增法详解
  8. [SCOI2016]萌萌哒
  9. Zabbix 5.0 监测mysql
  10. 十进制转换为任意进制及操作符重载
  11. POJ 2068 NIm (dp博弈,每个人都有特定的取最大值)
  12. 直播盒子源码与直播盒子APP如何对接自动发卡平台
  13. Unity 内置渲染管线、SRP、URP、HDRP区别
  14. #9733;不评价别人的生活,是一个…
  15. 2023.02.14草图大师 卧室房间 效果图
  16. 吐槽板。(就当是个留言板吧....)
  17. Linux oci连接oracle服务器
  18. C#NPOI操作Excel
  19. 大数据领域的Benchmark介绍
  20. matlab实现二分法、牛顿法与割线法

热门文章

  1. 敏捷开发项目管理软件
  2. 文件删不掉需要管理员权限?分享解决方法
  3. 腾讯地图api使用——地图选点自动定位到当前位置
  4. app开发人员配置【职责】
  5. 计算机操作系统进程管理总结
  6. php人民币转换,PHP 转换人民币数字为大写
  7. PDM的工程图纸管理解决方案
  8. 贝叶斯新闻分类实战项目详解
  9. Composition API的优势
  10. 在BREW中打造自己的GUI(8)-IWEB的封装