第十三届蓝桥杯大赛软件赛省赛【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 ...
随机推荐
- MySQL数据库备份与恢复方法
MySQL数据库备份与恢复方法 mysql -uroot -p show databases; 1.导出数据库 1).MySQL命令行导出整个数据库(包含数据) 导出文件默认是存在mysql\bin目 ...
- 敏感信息泄露之如何隐藏IIS服务器名称和版本号
1.问题说明 请求IIS部署的网站可以发现响应头中暴露了IIS服务器名称/版本号. 漏洞等级:中 2.解决方案 想办法隐藏掉这部分信息. 2.1 下载并安装微软官方IIS扩展插件 URL Rewrit ...
- 《系列二》-- 9、bean属性填充
目录 一.概述: populateBean 在什么时候执行? 二.populateBean 的重要操作 三.重点操作一 propertyValue 的注入 3.1 根据 Bean名称注入 3.2 浅看 ...
- 【Android 逆向】【攻防世界】easyjni
1. apk 安装到手机,提示需要输入flag 2. jadx打开apk public class MainActivity extends c { static { System.loadLibra ...
- 【Android 逆向】【ARM汇编】 函数的栈帧
1. 函数的调用约定 ARM32 参数1-4 放入r0-r3 剩下的入栈,函数返回值放入r0 ARM64 参数1-8 放入X0-X7 剩下的入栈,函数返回值放入X0 (浮点数是放入 Dn 或 Sn) ...
- 使用Java线程同步工具类CyclicBarrier
如何使用 java.util.concurrent.CyclicBarrier是Java并发并发编程中的线程同步工具类,基于java.util.concurrent.locks.ReentrantLo ...
- heapq模块通过nlargest()和nsmallest()找到最大或最小的N个元素
问题 我们想在某个集合中找出最大或最小的N个元素 解决方案 heapq模块中有两个函数nlargest()和nsmallest() import heapq nums = [1,8,2,23,7,-4 ...
- 第130篇:BOM(window对象)
好家伙,本篇为<JS高级程序设计>第十二章"BOM"学习笔记 什么是BOM? BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种 ...
- DataGear 制作基于 three.js 的 3D 数据可视化看板
DataGear专业版 1.0.0 已发布,欢迎试用! http://datagear.tech/pro/ DataGear 支持采用原生的HTML.JavaScript.CSS制作数据可视化看板,也 ...
- nginx 代理 sftp转发流量
首先需要nginx安装有 stream模块,使用 nginx -V 查看下是否有 --with-stream,没有使用命令: yum -y install nginx-all-modules.noar ...