第九届蓝桥杯大赛个人赛决赛(软件类)真题Java
更新中..........
标题:年龄问题
解答:这道题实际上估算以下就可以得出答案,不放心可以放到EXCEl中看看。
夫人为:40岁
标题:最大乘积
package the.ninth; import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random; public class Solution1 { private static int[] data = new int[101]; private static boolean[] vis = new boolean[101]; private static HashSet<Integer> sets=new HashSet<>(); static BigInteger xx=new BigInteger("345619872"); static Random random = new Random(); public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
sets.add(i);
}
//System.out.println(987654321);
dfs(1,1);
System.out.println(xx); } //9 * 87146325 = 784316925 815497632
static void dfs(int index,int u) {
if(index==10) { ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <=9; i++) {
list.add(data[i]);
}
StringBuffer buff1 = new StringBuffer();
for (int i =u++; i < list.size(); i++) {
buff1.append(list.remove(i));
}
BigInteger a = new BigInteger(buff1.toString());
StringBuffer buff2 = new StringBuffer();
for (int i = 0; i < list.size(); i++) {
buff2.append(list.get(i));
}
BigInteger b = new BigInteger(buff2.toString());
BigInteger multiply = a.multiply(b);
char[] cs = multiply.toString().toCharArray();
for (int i = 0; i < cs.length; i++) {
for (int j = i+1; j < cs.length; j++) {
if(cs[i]=='0'||cs[j]=='0')return;
if(cs[i]==cs[j]) {
return;
}
}
}
xx = multiply.max(xx);
return;
}
for (int i = 1; i <=9; i++) {
if(vis[i]==false) {
data[index]=i;
vis[i]=true;
dfs(index+1,u);
vis[i]=false;
}
}
return;
} }
标题:全排列
#include <stdio.h>
#include <string.h> //轮换前n个,再递归处理
void permu(char* data, int cur) {
int i,j;
if(data[cur]=='\0') {
printf("%s\n", data);
return;
}
for(i=cur; i<; i++) {
char tmp = data[i];
for(j=i-; j>=cur; j--)
data[j+] = data[j];
data[cur] = tmp; permu(data, cur+); tmp = data[cur];
data[cur]= data[cur+]; //填空
data[cur] = tmp;
}
} int main() {
char a[] = "";
permu(a,);
return ;
}
标题:约瑟夫环
public static void main(String[] args) {
int a=41;
int b=3;
LinkedList<Integer> list = new LinkedList<>();
for (int i = 0; i < a; i++) {
list.add(i+1);
}
while (list.size()>1){
for (int i = 0; i < b-1; i++) {
list.add(list.remove());
}
System.out.print("->"+list.getFirst());
list.remove();//remve head
}
System.out.println(list.getFirst());
}
标题:交换次数
public class B { private static int MINX = 0; private static int x = 0;
private static int y = 0; static boolean flag = false;
//TABTABBTTTT
public static void main(String[] args) {
String str = "TTAAABB";//TABTABBTTTT
char[] arr = str.toCharArray();
char s = 0;
int sx = 0;
char e = 0;
int ex = 0; boolean flag2=true;
for (int i = 0; i < arr.length-1; i++) {
if(arr[i]==arr[i+1]) {
y++;
flag2=false;
}
if(arr[i]!=arr[i+1]&&flag2==false) {
y--;
}
}
if(y==1) {
System.out.println(((arr.length-1)/2));
return;
}
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] == arr[i + 1] && flag == false) {
flag = true;
s = arr[i];
sx = i;
} else {
e = arr[i];
ex = i;
}
}
//System.out.println(s + " " + e);
//System.out.println(sx + " " + ex);
/*// inline
for (int i = sx; i < ex-1; i++) {
if(arr[i]!=arr[i+1]) {
x++;
}
}*/
for (int i = 0; i < sx; i++) {
if (arr[i] == arr[sx]) {
char temp = arr[sx - 1];
//System.out.println(arr[sx - 1]);
arr[sx - 1] = arr[i];
arr[i] = temp;
sx--;
x++;
}
}
for (int i = 0; i < sx; i++) {
if (arr[i] == e) {
x++;
}
}
System.out.println(x);
}
}
标题:迷宫与陷阱
code:
package the.ninth; import java.util.LinkedList;
import java.util.Scanner; public class E { private final static int MAXN = 1006;
private static char[][] maps = new char[MAXN][MAXN];
private static int [][][] dp=new int[MAXN][MAXN][10]; private static int[] x = { 0, 0, 1, -1 };
private static int[] y = { 1, -1, 0, 0 }; private static int K = 0;
private static int n = 0; public static void main(String[] args) {
for (int i = 0; i < MAXN; i++) {
for (int j = 0; j < MAXN; j++) {
for (int k = 0; k < 10; k++) {
dp[i][j][k]=100000;
}
}
}
Scanner input = new Scanner(System.in);
n = input.nextInt();
K = input.nextInt();
for (int i = 0; i < n; i++) {
maps[i] = input.next().toCharArray();
}
class Nodex {
int x;
int y;
int k;
public Nodex() {
}
public Nodex(int x, int y,int k) {
this.x = x;
this.y = y;
this.k = k;
}
} LinkedList<Nodex> queue = new LinkedList<>(); Nodex head = new Nodex(0, 0, 0);
dp[0][0][0]=0;
queue.add(head); while (!queue.isEmpty()) {
Nodex cur = queue.poll(); for (int i = 0; i < 4; i++) {
int newx = cur.x + x[i];
int newy = cur.y + y[i];
Nodex node=new Nodex();
node.x=newx;
node.y=newy;
node.k = cur.k>0? cur.k - 1 : 0;
if(newx<0||newx>=n||newy<0||newy>=n)continue;
if(maps[newx][newy]=='#') continue;
if(maps[newx][newy]=='%') node.k = K-1;
else if(maps[newx][newy] == 'X' && cur.k<=0)continue;
if (dp[newx][newy][node.k] > dp[cur.x][cur.y][cur.k] + 1) {
dp[newx][newy][node.k] = dp[cur.x][cur.y][cur.k] + 1;
queue.push(node);
} if (maps[cur.x][cur.y] == '%') maps[cur.x][cur.y] = '.';
}
} int ans = Integer.MAX_VALUE;
for (int i = 0; i < K; i++) ans = Math.min(ans, dp[n-1][n-1][i]);
if (ans == Integer.MAX_VALUE) System.out.println("-1");
else System.out.println(ans);
}
}
第九届蓝桥杯大赛个人赛决赛(软件类)真题Java的更多相关文章
- 第七届蓝桥杯大赛个人赛决赛(软件类C语言B组)第一题:一步之遥
这题好多人用爆搜/bfs来做,然而这题可用exgcd(扩展欧几里得)做,而且很简便. 先附原题: 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里. 矿车停在平直的废弃的轨道上. 他的面 ...
- 第九届蓝桥杯JavaB组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为: (2.3, 2.5) (6.4, 3.1) (5.1, 7.2) 求该三角 ...
- 第六届蓝桥杯JavaB组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.分机号 X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如: 751,520, ...
- 第六届蓝桥杯JavaA组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.胡同门牌号 小明家住在一条胡同里.胡同里的门牌号都是连续的正整数,由于历史原因,最小的号码并不是从1开始排的. 有一天小明突然发现了有 ...
- 【第九届蓝桥杯大赛决赛真题】JAVA大学C组题解
有空就会更新.... 有的题目重复了:再另一篇帖子:https://www.cnblogs.com/dgwblog/p/9090923.html 02 结果填空(满分29分) 标题:海盗与金币 12名 ...
- 第八届蓝桥杯大赛个人赛决赛(软件类)真题C++
哥德巴赫分解 哥德巴赫猜想认为:不小于4的偶数都可以表示为两个素数的和. 你不需要去证明这个定理,但可以通过计算机对有限数量的偶数进行分解,验证是否可行. 实际上,一般一个偶数会有多种不同的分解方案, ...
- 第九届蓝桥杯B组决赛 调手表(完全背包)
问题描述 M78 星云的一个小时有 n 分钟. 大家都知道,手表只有一个按钮可以把当前的数加一.在调分钟的时候,如果当前显示的数是 0 ,那么按一下按钮就会变成 1,再按一次变成 2 .如果当前的数是 ...
- 第六届蓝桥杯JavaC组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.机器人数目 少年宫新近邮购了小机器人配件,共有3类,其中, A类含有:8个轮子,1个传感器 B类含有: 6个轮子,3个传感器 C类含有 ...
- 第七届蓝桥杯JavaC组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.平方末尾 能够表示为某个整数的平方的数字称为"平方数" 比如,25,64 虽然无法立即说出某个数是平方数,但经常可 ...
随机推荐
- loadrunner12-错误 -26366: 找不到 web_reg_find 的“Text=19728.00”
转:检查点(web_reg_find函数详解) LR检查点 设置检查点的目的不只是为了验证我们的脚本没有错误,而更重要的是一个规范问题,如何使得测试结果更具有说服力,因此建议所有的测试脚本中都添加检查 ...
- python 类变量 在多线程下的共享与释放问题-乾颐堂
最近被多线程给坑了下,没意识到类变量在多线程下是共享的,还有一个就是没意识到 内存释放问题,导致越累越大 1.python 类变量 在多线程情况 下的 是共享的 2.python 类变量 在多线程情况 ...
- laravel @if
- Oracle 递归
当对象存在父节点.子节点时,通过特定的方式获取父节点.子节点数据构建树状结构或其它形式结构时,通常都会使用递归,如:一个公司有多个部门.每个部门下可能有多个小部门,小部门下面又有组-.为了数据容易 ...
- 对SOA架构思想的一些说明(转)
出处:http://kb.cnblogs.com/page/510698/ 从纵向到横向 传统业务系统的构建更多的是竖井式的纵向思想,这个主要是从单个业务系统孤立来看都是垂直应用.那么SOA架构的视角 ...
- jcabanillas/yii2-inspinia-asset composert 安装失败
minimum-stability (root-only) 这定义了通过稳定性过滤包的默认行为.默认为 stable(稳定).因此如果你依赖于一个 dev(开发)包,你应该明确的进行定义. 对每个包的 ...
- Spring框架总结(七)
Spring代理模式:名词解释: 代理是一种开发的设计模式,用途:提供了对目标对象另外的访问方式,及通过对代理访问目标对象. 优势: 可以在目标对象实现的基础上,增强额外的功能操作,(扩展目标对象的功 ...
- Call to undefined function Think\C()
Fatal error: Call to undefined function Think\C() in /alidata/www/default/2017/newyear/simplewind/Co ...
- JSTL 引入
首先要明白jstl有如下版本: jstl1.0的引入方式为: <taglib uri="http://java.sun.com/jstl/core" prefix=&quo ...
- OpenCV源码解析
OpenCV K-means源码解析 OpenCV 图片读取源码解析 OpenCV 视频播放源码解析 OpenCV 追踪算法源码解析 OpenCV SIFT算法源码解析 OpenCV 滤波源码分析:b ...