首页 > 其他分享 >P1116 车厢重组

P1116 车厢重组

时间:2024-02-14 18:22:26浏览次数:28  
标签:重组 arr ch P1116 int 冒泡排序 ++ 车厢

1.题目介绍

车厢重组

题目描述

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

输入格式

共两行。

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

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

输出格式

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

样例 #1

样例输入 #1

4
4 3 2 1

样例输出 #1

6

2.题解

2.1 冒泡排序

思路

这里就是一个冒泡排序,每次只能交换相邻的两个值。
注意冒泡排序每次是较大值冒泡到待排序区末尾处,所以注意内层循环的值

代码

#include<bits/stdc++.h>
using namespace std;
inline int read(){
	char ch = getchar();
	int x = 0, f = 1;
	while(ch < '0' || ch > '9'){
		if(ch == '-') f = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9'){
		x = x * 10 + ch - '0';
		ch = getchar(); 
	}
	return x * f;
}

int main(){
	int n;
	cin >> n;
	vector<int> arr(n);
	for (int i = 0; i < n; i++){
		arr[i] = read();
	}
	// 冒泡排序
	int count = 0;
	for (int i = 0; i < n; i++){
		for (int j = 0; j < n - i - 1; j++){
			if(arr[j] > arr[j + 1]){
				swap(arr[j], arr[j + 1]);
+				count++; 
			}
		}
	}	
	cout << count << endl;
} 

标签:重组,arr,ch,P1116,int,冒泡排序,++,车厢
From: https://www.cnblogs.com/trmbh12/p/18015399

相关文章

  • Linux文件分片、重组
    如果一个文件特别的大,想要直接打开的话会特别的慢,我们只需要对这个文件进行切割,变成许多个小的文件,然后再去查看小文件的话打开的速度就不会那么慢了切割文本#假设我们当前目录存在一个10G的文件data,现在对他进行分片[root@localhostopt]#split-d-b1Gdata"data-part"......
  • 基于LSTM模型的时间序列预测(车厢重量预测),Python中Keras库实现LSTM,实现预测未来未知数
    简介LSTM是一种常用的循环神经网络,其全称为“长短期记忆网络”(LongShort-TermMemoryNetwork)。相较于传统的循环神经网络,LSTM具有更好的长期记忆能力和更强的时间序列建模能力,因此在各种自然语言处理、语音识别、时间序列预测等任务中广泛应用。问题场景:对一节火车进行装载货物,......
  • 如何在 Linux 中分割和重组文件!
    我们将学习如何使用csplit,split和cat来重新整理文件,然后再将文件合并在一起。这些操作在任何文件类型下都有用:文本、图片、音频文件、ISO镜像文件等。使用csplit分割文件csplit是这些有趣的小命令中的一个,它永远伴你左右,一旦开始用它就离不开了。csplit将单个文件分割......
  • 全国区划代码数据筛选重组
    你知道的越多,你不知道的越多点赞再看,养成习惯文章目录前言引入jar包实现思路代码实现验证Guava工具类找出两个Map集合的差异数据筛选残联区划和全国区划差异组装完整的区划名称方法区划名称相似度匹配,筛选出可以建立关联关系的区划数据并建立关联关系对筛选出来的相似数据进......
  • 解密IP分片与重组:数据传输中的关键技术
    引言在上一章节中,我们详细讨论了IP的分类和无分类原则的原理以及其在网络通信中的应用。IP分片与重组是在数据包传输过程中起到关键作用的机制。当数据包的大小超过网络链路的MTU(最大传输单元)限制时,IP分片将数据包分割为多个较小的分片进行传输。这些分片在网络中独立传输,到达目的......
  • 解密IP分片与重组:数据传输中的关键技术
    引言在上一章节中,我们详细讨论了IP的分类和无分类原则的原理以及其在网络通信中的应用。IP分片与重组是在数据包传输过程中起到关键作用的机制。当数据包的大小超过网络链路的MTU(最大传输单元)限制时,IP分片将数据包分割为多个较小的分片进行传输。这些分片在网络中独立传输,到达目......
  • DNA重组--团队展示
    队名:DNA重组团队项目描述:谁不想用电脑摸鱼的时候上网页点个外卖呢?所以我们做了网页外卖平台。队员风采:学号:2023021871成员姓名:周佳宁博客园地址:https://www.cnblogs.com/t-travel/性格:开朗、乐观擅长的技术:java后端、web前端角色:后端宣言:“一起来面向对象写bug吧。” 学号:2023......
  • 服务器数据恢复-RAID6磁盘重组RAID5导致原RAID6数据丢失的数据恢复案例
    服务器数据恢复环境:一台存储设备中有一组由12块硬盘组建的RAID6磁盘阵列,上层采用EXT3文件系统,共划分3个LUN。服务器故障&分析:存储设备在运行过程中RAID6阵列突然不可用,管理员对故障存储进行了重新分配RAID的操作并进行了初始化。初始化一段时间后,管理员察觉有异,于是强行终止初始......
  • 全球供应链开始重组,牵一发而动全身的局面不在 | 百能云芯
    8月11日的消息显示,近年来,强化供应链的韧性成为全球的趋势。这也导致出现了具有关键技术吸引力的供应链落地、民主联盟和集权联盟分化的局面。这种变局将对企业适应国际接轨能力和新秩序应变能力构成重大考验。此外,国际分工模式的改变也将导致各国供应链在某些领域产生重叠,供应链分......
  • 论文解读:《利用生成性深度学习预测用于DNA编辑的设计者重组酶》》
    期刊:naturecommunications影响因子:16.6↓1.094中科院分区:1区摘要位点特异性酪氨酸型重组酶是基因组工程的有效工具,首个工程化变体已显示出治疗潜力。到目前为止,设计重组酶对新DNA靶位点选择性的适应主要是通过定向分子进化的迭代循环实现的。虽然有效,定向分子进化方法是费力和耗......