第九届蓝桥杯大赛个人赛决赛(软件类)真题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 虽然无法立即说出某个数是平方数,但经常可 ...
随机推荐
- PropertyPlaceholderConfigurer使用及@Value使用注意事项
思考 PropertyPlaceholderConfigurer和<context:property-placeholder/>有何区别? @Value在Controller层和Servi ...
- Python爬虫实战五之模拟登录淘宝并获取所有订单
经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 温馨提示 更新时间,2016-02-01,现在淘宝换成了滑块验证了 ...
- linux tomcat自动部署shell
#!/bin/bash #defined TOMCAT_HOME="/usr/java/tomcat/tomcat" TOMCAT_PORT=80 PROJECT ...
- [GO]多任务的资源竞争问题
package main import ( "fmt" "time" ) func Printer(s string) { for _, data := ran ...
- python操作mysql数据库系列-安装MySQLdb
一波三折,先是pip命令出现问题,然后各种方法尝试解决.然后是直接使用pip2命令安装报错,mysql-python库安装再次出现问题.于是使用国内镜像的方式去安装:pip2 install MySQ ...
- JVM指令集(指令码、助记符、功能描述)
JVM指令集(指令码.助记符.功能描述) 指令码 助记符 功能描述 0x00 nop 无操作 0x01 aconst_null 指令格式: aconst_null 功能描述: null进栈. 指令 ...
- 流程控制语句(if、for、while、do while、switch、 break、continue)
3:流程控制语句 (1)顺序结构 从上往下,依次执行 (2)选择结构 按照不同的选择,执行不同的代码 (3)循环结构 做一些重复的代码 4:if语句 (1)三种格式 ...
- T Fiddler 教程 _转
阅读目录 Fiddler的基本介绍 Fiddler的工作原理 同类的其它工具 Fiddler如何捕获Firefox的会话 Fiddler如何捕获HTTPS会话 Fiddler的基本界面 Fiddler ...
- Rational Rose简明实用教程
转载 https://blog.csdn.net/gz153016/article/details/49641847 求下列算法的时间复杂度 void aFunc(int n) { ; i < ...
- EF中三大开发模式之DB First,Model First,Code First以及在Production Environment中的抉择
一:ef中的三种开发方式 1. db first... db放在第一位,在我们开发之前必须要有完整的database,实际开发中用到最多的... <1> DBset集合的单复数... db ...