第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题D: 最少刷题数

1 import java.util.ArrayList;
2 import java.util.Scanner;
3
4 public class Main {
5 public static void main(String args[]) {
6 // System.out.println("请输入一个正整数N");
7 Scanner sc = new Scanner(System.in); //初始化Scanner对象
8 int numN=sc.nextInt(); //输入
9 ArrayList myNum= new ArrayList();
10 ArrayList res= new ArrayList();
11 // System.out.printf("依次输入%d个整数\n",numN);
12 for (int i = 0;i<numN ;i++ ) {
13 int tempNum=sc.nextInt();
14 myNum.add(tempNum);
15 res.add(tempNum); //保存排序之前的数据
16 }
17 // System.out.println("排序之前的数据:"+myNum.toString()+res.toString());
18 if(numN%2==0) {
19 // System.out.println("偶数");
20 //从小到大排序:
21 int tempNum=0;
22 for(int i=0;i<numN;i++) {
23 for (int j=i+1;j<numN;j++) {
24 int i_num=(int) myNum.get(i);
25 int j_num=(int) myNum.get(j);
26 if(i_num>j_num) {
27 tempNum=i_num;
28 myNum.set(i, j_num);
29 myNum.set(j, tempNum);
30 }
31 }
32 }
33 // System.out.println("排序之后的数据:"+myNum.toString()+res.toString());
34 // System.out.println(myNum.toString());
35 //开始计算 结果保存在res数组中 下面是偶数情况:
36 for (int i=0;i<numN ; i++)
37 {
38 int zwNum=(int) myNum.get(numN/2);
39 int resTempNum=(int) res.get(i); //保存当前数据
40 if((resTempNum==zwNum) || (resTempNum>zwNum)) {
41 res.set(i, 0);
42 }else {
43 res.set(i, zwNum-resTempNum+1);
44 }
45 }
46 }else {
47 //----------------------------------------------------------------------
48 // System.out.println("奇数");
49 //从小到大排序:
50 int tempNum=0;
51 for(int i=0;i<numN;i++) {
52 for (int j=i+1;j<numN;j++) {
53 int i_num=(int) myNum.get(i);
54 int j_num=(int) myNum.get(j);
55 if(i_num>j_num) {
56 tempNum=i_num;
57 myNum.set(i, j_num);
58 myNum.set(j, tempNum);
59 }
60 }
61 }
62 // System.out.println("排序之后的数据:"+myNum.toString()+res.toString());
63 //开始计算 结果保存在res数组中 下面是奇数情况:
64 for (int i=0;i<numN ; i++)
65 {
66 int zwNum=(int) myNum.get(numN/2);
67 int resTempNum=(int) res.get(i); //保存当前数据
68 if((resTempNum==zwNum) || (resTempNum>zwNum)) {
69 res.set(i, 0);
70 }else {
71 res.set(i, zwNum-resTempNum+1);
72 }
73 }
74 }
75 //输出结果
76 System.out.println(res.toString());
77 }
78 }


第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题D: 最少刷题数的更多相关文章
- 2019 第十届蓝桥杯大赛软件类省赛 Java A组 题解
2019 第十届蓝桥杯大赛软件类省赛 Java A组 试题A 题解 题目最后一句贴心的提示选手应该使用 long (C/C++ 应该使用 long long). 本题思路很直白,两重循环.外层 ...
- 第十届蓝桥杯大赛软件类省赛C/C++研究生组 试题I:灵能传输
在游戏<星际争霸 II>中,高阶圣堂武士作为星灵的重要 AOE 单位,在游戏的中后期发挥着重要的作用,其技能"灵能风暴"可以消耗大量的灵能对一片区域内的敌军造成毁灭性的 ...
- 2020第十一届蓝桥杯大赛软件类国赛题目 C/C++ B 组
试题 A: 美丽的 2 本题总分:5 分 问题描述:在公元 1 年到公元 2020 年(包含)中,有多少个年份的数位中包含数字 2? #include <stdio.h> #include ...
- 第七届蓝桥杯大赛个人赛决赛(软件类C语言B组)第一题:一步之遥
这题好多人用爆搜/bfs来做,然而这题可用exgcd(扩展欧几里得)做,而且很简便. 先附原题: 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里. 矿车停在平直的废弃的轨道上. 他的面 ...
- 第九届蓝桥杯大赛个人赛决赛(软件类)真题Java
更新中.......... 同一年的题解:https://www.cnblogs.com/dgwblog/p/10111903.html 01 结果填空 (满分11分) 标题:年龄问题 s夫人一向 ...
- 第十三届蓝桥杯省赛C/C++ B组
@(第十三届蓝桥杯省赛C/C++B组) A顺子日期 答案是1478 B顺子日期 答案14(如果012算的话) C刷题统计 数据范围1e18,所以不能直接暴力,先取余,再暴力剩下的 #include&l ...
- 纸张尺寸【第十三届蓝桥杯省赛C++C组】
纸张尺寸 在 ISO 国际标准中定义了 \(A0\) 纸张的大小为 \(1189mm×841mm\),将 \(A0\) 纸沿长边对折后为 \(A1\) 纸,大小为 \(841mm×594mm\) ,在 ...
- 数位排序【第十三届蓝桥杯省赛C++C组】
数位排序 小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序. 当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面. 例如,\(2022\) 排在 \( ...
- 求和【第十三届蓝桥杯省赛C++A/C组 , 第十三届蓝桥杯省赛JAVAA组】
求和 给定 \(n\) 个整数 \(a1,a2,⋅⋅⋅,an\),求它们两两相乘再相加的和,即 \(S=a1⋅a2+a1⋅a3+⋅⋅⋅+a1⋅an+a2⋅a3+⋅⋅⋅+an−2⋅an−1+an−2⋅a ...
- 2022年4月第十三届蓝桥杯省赛C组C语言 习题解析(每日一道)
本题总分:5 分[问题描述]小蓝要把一个字符串中的字母按其在字母表中的顺序排列.LANQIAO 排列后为 AAILNOQ.//用的冒泡排序 https://blog.csdn.net/superman ...
随机推荐
- [Revit二次开发] 使用过滤器时,可能存在的坑:FilteredElementCollector.MoveNext()报错
1.问题描述 在使用FilteredElementCollector时,如果涉及到需要对collector进行多次过滤处理,可能会出现MoveNext的报错. 问题代码如下: 1 var collec ...
- 3D环饼图
// <div class="AnalysisAccCom"> <first-title title="分析对象统计"> ...
- Elasticsearch下载安装配置
下载地址 # elasticsearch https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-8-3 # kibana ...
- toml格式配置文件介绍
toml官方wik toml官方文档 此次文档是以v1.0.0为例,进行说明的.如果使用到的版本不同,直接去官方文档中找对应的版本即可. 谈到配置文件,大家都能说出来好几种,比如常见的ini.xml. ...
- 【Azure App Service】同一个App Service下创建多个测试站点的方式
问题描述 在一个App Service中,部署多个应用,每个应用相互独立,类似与IIS中在根目录下创建多个子应用的情况. 问题解答 可以的.通过App Service Configuration页面, ...
- 多线程系列(十一) -浅析并发读写锁StampedLock
一.摘要 在上一篇文章中,我们讲到了使用ReadWriteLock可以解决多线程同时读,但只有一个线程能写的问题. 如果继续深入的分析ReadWriteLock,从锁的角度分析,会发现它有一个潜在的问 ...
- C++ 模板的笔记2
C++模板的笔记2 关于可变参函数模板借鉴了一部分笔记,感谢大佬 类模板中的嵌套 类模板可以嵌套其他类模板,就像普通类可以嵌套其他普通类一样.嵌套的类模板可以访问外部类模板的成员,包括私有成员. 示例 ...
- Spring Cloud跟Dubbo区别?
Spring Cloud是一个微服务框架,提供了微服务中很多功能组件,Dubbo一开始时RPC调用框架,核心是解决服务调用间的问题, Spring Cloud是一个大而全的框架,Dubbo更侧重于服务 ...
- Mysql基础目录
尚硅谷Mysql课程笔记 课程链接: https://www.bilibili.com/video/BV1iq4y1u7vj?p=1 第01章_数据库概述 第02章_MySQL环境搭建 第03章_基本 ...
- centos 8远程分发复制jdk到另一个虚拟机
在localzly节点操作成功后可以使用远程复制命令将JDK远程复制到slave1节点之中:(此命令在localzly中操作) scp -r /usr/java root@slave1:/usr/ 配 ...