当前位置: 首页 > news >正文

P1116 车厢重组(冒泡排序)

题目描述

在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转 180 180 180 度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。

输入格式

共两行。

第一行是车厢总数 N ( ≤ 10000 ) N( \le 10000) N(10000)

第二行是 N N N 个不同的数表示初始的车厢顺序。
:实际上数据中并不都在同一行,有可能分行输入)

输出格式

一个整数,最少的旋转次数。

样例 #1

样例输入 #1

4
4 3 2 1

样例输出 #1

6

1.题目分析

输入车厢节数,对应的车厢序号,将车厢序号从小到大进行排序。
限制只能在相邻车厢之间交换位置,求最小交换次数。

这里很容易想到冒泡排序:即通过相邻元素之间的变换,对元素进行排序。附上之间写的冒泡排序的详解: 冒泡排序。

2.题目思路

  1. 键入车厢节数,车厢序号。
  2. 将序号存入数组。
  3. 将数组进行冒泡排序,记录每一轮交换元素的次数。
  4. 最后打印总共次数即可。

3.代码实现

#include <iostream>using namespace std;int main() {int n;//输入车厢节数cin >> n;int arr[n];for (int i = 0; i < n; ++i) {cin >> arr[i];}int temp;//记录冒泡的次数int cnt = 0;//冒泡排序for (int i = 0; i < n - 1; ++i) {for (int j = 0; j < n - i - 1; ++j) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;cnt++;}}}//打印结果cout << cnt;return 0;
}

相关文章:

P1116 车厢重组(冒泡排序)

题目描述 在一个旧式的火车站旁边有一座桥&#xff0c;其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢&#xff0c;如果将桥旋转 180 180 180 度&#xff0c;则可以把相邻两节车厢的位置交换&#xff0c;用这种方法可以重新排列车厢的顺序…...

Android逆向学习(番外一)smali2java部分文件无法反编译的bug与修复方法

Android逆向学习&#xff08;番外一&#xff09;smali2java部分文件无法反编译的bug与修复方法 一、前言 昨天我和往常一样准备着android逆向&#xff08;四&#xff09;的博客&#xff0c;结果发现smali2java对某些文件无法进行逆向&#xff0c;我不知道windows会不会产生这…...

go语言基本操作---三

变量的内存和变量的地址 指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的另一个变量的值的起始位置。Go语言对指针的支持介于java语言和C/C语言之间&#xff0c;它即没有想Java语言那样取消了代码对指针的直接操作的能力&#xff0c;也避免了C/C语言中由…...

ArcGIS Enterprise + ArcGIS Pro 常用服务类型发布

发布前设置 门户连接 首先Pro需要先连接portal 添加portal门户地址&#xff0c;注意只到WA一级地址&#xff0c;并登录&#xff1a; 登录完成后&#xff0c;右键&#xff0c;设置为活动门户&#xff1a; 1. 发布动态地图服务 关联数据文件夹&#xff1a; 拖拽数据到地图…...

优思学院|亲和图案例:寻找六西格玛的项目

什么是亲和图&#xff1f; 亲和图&#xff08;Affinity Diagram&#xff09;主要功能在於分类归纳&#xff0c;协助在一堆杂乱无章的资料之中&#xff0c;有系统的归纳出几个大类&#xff0c;以利后续作业。通常先利用头脑风暴&#xff08;Brainstorming&#xff09;方式得到大…...

tomcat 的缓存机制

HTTP缓存&#xff1a;Tomcat支持HTTP缓存机制&#xff0c;可以通过设置响应头中的Cache-Control、Expires和ETag等字段来控制缓存策略。这些字段告诉浏览器是否可以缓存响应以及缓存的有效期等信息。 Servlet缓存&#xff1a;Tomcat还提供了Servlet缓存机制&#xff0c;它可以…...

laravel 压缩文件与解压文件

一、引入第三方类 composer require chumper/zipper二、第三方类配置 providers>[Chumper\Zipper\ZipperServiceProvider::class ]aliases > [Zipper > Chumper\Zipper\Zipper::class ]三、压缩解压缩实例 <?php namespace App\Http\Controllers\Upload; use A…...

kind搭建k8s集群用于测试

安装kind 需要先安装go kind基于go开发 #第一种安装方式#修改go源加快下载速度 go env -w GOPROXYhttps://goproxy.cn,direct #直接下载安装kind最新版本 go install sigs.k8s.io/kindlatest #进入GOPATH目录找到bin目录下kind执行程序 移动到环境变量里 mv ./kind /usr/local…...

软件测试人需要掌握的测试知识架构体系(上)

软件计划与可行性研究&#xff08;问题定义、可行性研究&#xff09;&#xff1b;需求分析&#xff1b;软件设计&#xff08;概要设计、详细设计&#xff09;&#xff1b;编码&#xff1b;软件测试&#xff1b;运行与维护。 一、软件的生命周期(SDLC) 1、生存周期划分 各阶段…...

QT数据库,实现数据库增删改查

QT关于数据库的相关概念 QT将数据库分为三个层次&#xff1a; 数据库驱动层&#xff1a;QSqlDriver、QSqlDriverCreator、QSqlDriverCreatorBase、QSqlDriverPlugin sql接口层&#xff1a;QSqlDatabase、QSqlQuery、QSqlRecord、QSqlError 用户接口层&#xff1a;提供一些模…...

SQL-子查询

SQL 子查询 是指将一个SELECT查询&#xff08;子查询&#xff09;的结果用括号括起来作为另一个SQL语句的数据来源或者判断条件...

【8章】Spark编程基础(Python版)

课程资源&#xff1a;&#xff08;林子雨&#xff09;Spark编程基础(Python版)_哔哩哔哩_bilibili 第8章 Spark MLlib&#xff08;6节&#xff09; 机器学习算法库 &#xff08;一&#xff09;MLlib简介 1、机器学习 机器学习可以看做是一门人工智能的科学&#xff0c;该领…...

桌面应用小程序,一种创新的跨端开发方案

Qt Group在提及2023年有桌面端应用程序开发热门趋势时&#xff0c;曾经提及三点&#xff1a; 关注用户体验&#xff1a;无论您是为桌面端、移动端&#xff0c;还是为两者一起开发应用程序&#xff0c;有一点是可以确定的&#xff1a;随着市场竞争日益激烈&#xff0c;对产品的期…...

将本地jar打包到本地maven仓库或maven私服仓库中

将本地jar包打包到本地的maven仓库中的命令&#xff1a; mvn install:install-file -DgroupIdtebie.applib.api -DartifactIdapiclient -Dversion1.0-SNAPSHOT -Dfile本地jar路径 -Dpackagingjar说明&#xff1a; DgroupId pom中的<groupId></groupId> Dartifact…...

java 实现建造者模式

建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;用于创建一个复杂对象&#xff0c;将对象的构建过程与其表示分离&#xff0c;以便可以使用相同的构建过程来创建不同的表示。在Java中&#xff0c;可以使用建造者模式来构建具有多个属性的对…...

串行FIR滤波器

串行 FIR 滤波器设计 串行设计&#xff0c;就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算&#xff0c;然后在时钟驱动下输出滤波值。考虑到 FIR 滤波器系数的对称性&#xff0c;计算一个滤波输出值的周期可以减少到 8 个。串行设计时每个周期只进行一次乘…...

Spring Boot 整合 Shiro(后端)

1 Shiro 什么是 Shiro 官网&#xff1a; http://shiro.apache.org/ 是一款主流的 Java 安全框架&#xff0c;不依赖任何容器&#xff0c;可以运行在 Java SE 和 Java EE 项目中&#xff0c;它的主要作用是对访问系统的用户进行身份认证、 授权、会话管理、加密等操作。 …...

面试中的自我介绍:首印象决定一切

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

深入理解联邦学习——联邦学习的价值

分类目录&#xff1a;《深入理解联邦学习》总目录 毫无疑问&#xff0c;如今我们正经历互联网第四次信息革命&#xff0c;坐拥海量的信息与数据。这些数据如果能够用AI的方式进行解读&#xff0c;将会为人类日常生活带来颠覆性变革。联邦学习作为未来AI发展的底层技术&#xff…...

linux 内存一致性

linux 出现内存一致性的场景 1、编译器优化 &#xff0c;代码上下没有关联的时候&#xff0c;因为编译优化&#xff0c;会有执行执行顺序不一致的问题&#xff08;多核单核都会出现&#xff09; 2、多核cpu乱序执行&#xff0c;cpu的乱序执行导致内存不一致&#xff08;多核出…...

游戏化学习与编程实战:CodeCombat让编程学习像玩游戏一样简单

游戏化学习与编程实战&#xff1a;CodeCombat让编程学习像玩游戏一样简单 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat 你是否也曾因枯燥的编程教程而中途放弃&#xff1f;是否希望找到一种既能…...

10G DWDM/OTN系统DCM色散补偿

一、色散补偿的基本原则优先欠补偿&#xff0c;整体必需欠补偿。整体尽量均匀补偿。二、色散常识是线性的&#xff0c;可预测的&#xff0c;可逆的。这是色散能够补偿的根本原因&#xff0c;无论是传统的DCF方式还是100G的算法补偿。正如彩虹现象&#xff0c;白光经过色散作用&…...

基于碳排放交易与需求响应的综合优化调度策略:微网虚拟电厂日前调度模型研究

MATLAB代码&#xff1a;计及碳排放交易及多种需求响应的微网/虚拟电厂日前优化调度 关键词&#xff1a;碳排放交易 需求响应 空调负荷 电动汽车 微网/虚拟电厂优化调度 参考文档&#xff1a;《计及电动汽车和需求响应的多类电力市场下虚拟电厂竞标模型》参考其电动汽车模型以及…...

(支援发出,转发需官方授权)某个名师大家可能还是一个女的自称“廉者不受嗟来之食”对自己对自己的学生和想要招(找)的学生都一样。

&#xff08;支援发出&#xff0c;转发需官方授权&#xff09;某个名师大家可能还是一个女的自称“廉者不受嗟来之食”对自己对自己的学生和想要招&#xff08;找&#xff09;的学生都一样。...

别再手动整理了!用这个Python脚本,一键把TMM刮的演员图灌进Jellyfin

解放双手&#xff01;Python自动化脚本实现TMM演员图无缝迁移至Jellyfin 每次打开Jellyfin看到那些缺失的演员头像&#xff0c;是不是总有种美中不足的感觉&#xff1f;作为影视库管理员&#xff0c;我们都希望自己的媒体库尽善尽美。但现实是&#xff0c;Jellyfin默认的演员图…...

Comsol仿真:三相电力变压器电磁场与电路耦合计算,精确预测高低压绕组电压电流分布及磁通密度分布

comsol三相电力变压器电磁场和电路耦合计算&#xff0c;可以得到变压器高低压绕组电压电流分布以及变压器磁通密度分布&#xff0c;今天我们来聊聊如何在COMSOL中模拟三相电力变压器的电磁场和电路耦合计算。通过这个模拟&#xff0c;我们可以得到变压器高低压绕组的电压电流分…...

精通Android标签布局开发:使用FlycoTabLayout构建高效导航体验

精通Android标签布局开发&#xff1a;使用FlycoTabLayout构建高效导航体验 【免费下载链接】FlycoTabLayout An Android TabLayout Lib 项目地址: https://gitcode.com/gh_mirrors/fl/FlycoTabLayout 在Android应用开发中&#xff0c;标签页导航是提升用户体验的关键元素…...

FSearch:Linux系统极速文件搜索工具完全指南

FSearch&#xff1a;Linux系统极速文件搜索工具完全指南 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 在Linux系统中高效管理文件是每个开发者和系统管理员面临的日…...

Rust 入门:一个写了 6 年 Python 的人,聊聊真实体验和踩坑

上个月我接了个活&#xff0c;写一个日志分析工具&#xff0c;每天处理大概 2000 万行日志。一开始用 Python 写了个原型&#xff0c;跑起来单核吃满、内存飙到 4G&#xff0c;处理完一天的数据要 40 分钟。这玩意儿上线了不得被运维同事骂死&#xff1f; 正好 2026 年了&#…...

告别手动拷贝!用批处理脚本一键搞定VisionPro与海康MVS SDK的集成部署

告别手动拷贝&#xff01;用批处理脚本一键搞定VisionPro与海康MVS SDK的集成部署 在工业视觉系统的开发与部署中&#xff0c;VisionPro与海康威视MVS SDK的集成是常见需求。每次为新的工控机或开发环境配置这套系统时&#xff0c;开发者往往需要重复执行一系列繁琐的文件拷贝操…...