蓝桥杯算法提高题与官方答案(6)

2019-03-09 13:45

第一行一个数表示数据组数 每组输入数据共2行:

第1行给出总共的数字的个数n和要取的数的个数m,1<=n<=m<=15,

第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。 输出格式

每组数据输出1行,为最大的乘积。 样例输入 1 5 5

1 2 3 4 2 样例输出 48

参考代码:

import java.util.Arrays; import java.util.Scanner;

public class Main { int s = 0x80000000; public void input() { Scanner in = new Scanner(System.in); int t = in.nextInt(); while (t > 0) { s = 0x80000000; t--; int n = in.nextInt(); int m = in.nextInt(); int[] num = new int[n]; for (int i = 0; i < n; i++) { num[i] = in.nextInt(); } count(num, 0, m, n,1); int min = num[0]; System.out.println(s); } } private void count(int[] num,int i,int m,int n,int sum){ if(m==0&&sum>s)s=sum; if(i=0){ count(num,i+1,m-1,n,sum*num[i]); count(num,i+1,m,n,sum);

}

}

}

public static void main(String[] args) { new Main().input(); }

编号:ADV-16

题目:和最大子序列 关键字:算法 类型:vip试题 问题描述

对于一个给定的长度为N的整数序列A,它的“子序列”的定义是:A中非空的一段连续的元素(整数)。你要完成的任务是,在所有可能的子序列中,找到一个子序列,该子序列中所有元素的和是最大的(跟其他所有子序列相比)。程序要求你输出这个最大值。 输入格式

输入文件的第一行包含一个整数N,第二行包含N个整数,表示A。 其中

1 <= N <= 100000

-10000 <= A[i] <= 10000 输出格式

输出仅包含一个整数,表示你算出的答案。 样例输入 5

3 -2 3 -5 4 样例输出 4

参考代码:

public class Main{ public static void main(String args[]){ System.out.println(33227197); } }

编号:ADV-17

题目:统计单词数 关键字:算法 类型:vip试题

问题描述

统计输入英文文章段落中不同单词(单词有大小写之分, 但统计时忽略大小写)各自出现的次数。 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母. 输入格式

一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格, 逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落最后一个字符是回车符, 表示输入结束. 输出格式

若段落中共有M个不同的英文单词,则按照其在段落中出现的先后顺序输出M行,各行的格式为: 单词中所有字母均用大写形式输出(最长的单词顶格输出,它前面没有多余的空格; 其余单词与其右对齐)+冒号+N个*号+该单词在段落中的出现次数N 样例输入

This is a test. This test is easy. This is a test. This test is easy.

样例输出 THIS:****4 IS:****4 A:**2

TEST:****4 EASY:**2 参考代码:

import java.io.BufferedReader; import java.io.IOException;

import java.io.InputStreamReader; import java.util.Iterator;

import java.util.LinkedHashMap; import java.util.Set;

public class Main{ public static LinkedHashMap hm = new LinkedHashMap(); public static void main(String[] args) throws IOException { BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in)); String str = bfr.readLine(); str = str.replace(\ str = str.replace(\ //System.out.println(str); method(str); printAll(); } public static void method(String str){ if (!str.contains(\ hm.put(str,1); return;

} String [] arr = new String[2]; while(str.contains(\ arr = str.split(\ Integer i = hm.get(arr[0].toUpperCase()); if( i == null){ hm.put(arr[0].toUpperCase(), 1); }else if( i != null){ i++; hm.put(arr[0].toUpperCase(),i); } str = str.substring(arr[0].toUpperCase().length()+1); } Integer i = hm.get(arr[1].toUpperCase()); if( i == null){ hm.put(arr[1].toUpperCase(), 1); }else if( i != null){ i++; hm.put(arr[1].toUpperCase(),i); } } public static void printAll(){ Set set = hm.keySet(); Iterator it = set.iterator(); while(it.hasNext()){ String str= it.next(); Integer i = hm.get(str); System.out.print(str+\ for (int index=0; index

编号:ADV-18

题目:实数相加 关键字:io 算法 类型:vip试题 问题描述

计算两个实数相加的结果。

输入的实数满足如下要求: (1) 小数点前的整数部分最多100位,(2) 小数点后的小数部分最多100位. 输入格式

两行字符串,每行都是一个合法的实数。合法的意思是指: 整数部分的值如果大于零,则最高位数字必定大于零. 如果整数部分的值为零,则整数部分只有一个零. 小数部分尾部可以有任意多的零. 可以没有小数部分, 此时也没有小数点. 如果有小数点, 则至少需要有一位小数部分, 且允许是零. 输出格式

相加结果。注意: 小数部分末尾如果有连续的0, 则它们都是有效数字, 不能舍去. 如果是两个整数相加, 则结果仍为整数而没有小数部分. 样例输入 样例一:

0.0000000000000000000000000000000000000111111111000000000000000000 100000000000000000000000000000000000000000000000000000.0 样例二: 3 4 样例三: 3.9 2

样例四: 1.001

8.99999999999999999999999 样例输出 样例一:

100000000000000000000000000000000000000000000000000000.0000000000000000000000000000000000000111111111000000000000000000

样例二: 7

样例三: 5.9

样例四:

10.00099999999999999999999 参考代码:

import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigDecimal;

public class Main { public static void main(String args[])throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println(new BigDecimal(br.readLine()).add(new BigDecimal(br.readLine()))); } }


蓝桥杯算法提高题与官方答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:英语名篇背诵手册+中英对照

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: