车厢重组

【题目描述】

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

【输入】

有两行数据,第一行是车厢总数N(不大于10000),第二行是N个不同的数表示初始的车厢顺序。

【输出】

一个数据,是最少的旋转次数。

【注意事项】1. 冒泡排序基本就是和自己相邻的那个比较就好了,所以判断条件只要是a[j]<a[j-1]就可以了,不需要a[j]<a[min]这样。2. 可以用#def ... #ifdef ... #endif 来进行调试

#include<iostream>
using namespace std;
const int MAX=10001;
int n;
void print(int a[])
{for(int i=0;i<n;i++){cout<<a[i];} cout<<endl;
}
int main()
{int a[MAX];int ans=0;bool flag=true;cin>>n;//cout<<"n="<<n<<endl; for(int i=0;i<n;i++){cin>>a[i];}for(int i=n-1;i>=0;i--){for(int j=1;j<=i;j++){//cout<<a[j]<<" max="<<a[max]<<endl;if(a[j]<a[j-1])    //这里不用定义一个恒定的来比较,冒泡排序和旁边那一个比较就好了
            {int temp=a[j-1];a[j-1]=a[j],a[j]=temp;flag=false;ans++;}#ifdef debugprint(a);#endif}if(flag){break;}}#ifdef debugprint(a);#endifcout<<ans<<endl;return 0;} 

View Code

转载于:https://www.cnblogs.com/xuwanwei/p/10864880.html

【数据排序】车厢重组相关推荐

  1. 信息学奥赛一本通 1310:【例2.2】车厢重组

    [题目链接] ybt 1310:[例2.2]车厢重组 [题目考点] 1. 冒泡排序 [君义精讲]排序算法 [解题思路] 该题实际求的是:统计冒泡排序中数据交换的次数 [题解代码] 解法1:冒泡排序 下 ...

  2. 信息奥赛一本通(1310:【例2.2】车厢重组)

    1310:[例2.2]车厢重组 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 18621     通过数: 11419 [题目描述] 在一个旧式的火车站旁边有一座 ...

  3. 信息学奥赛一本通(C++版)第二部分 基础算法 第二章 数据排序

    第二章 数据排序 T1310 : 车厢重组 时间限制: 1000 ms 内存限制: 65536 KB [题目描述]   在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转.一个车站的职工 ...

  4. 洛谷刷题:明明的随机数、质因数分解、不高兴的津津、津津对的储存计划和车厢重组

    记录洛谷刷题过程QAQ 一. [NOIP2006 普及组] 明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N N N 个 1 1 1 到 1 ...

  5. 洛谷——P1116 车厢重组

    P1116 车厢重组 题目描述 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转.一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180180度,则可以把相邻两节车厢的位置交 ...

  6. html怎么自动导入数据并排序,JS实现table表格数据排序功能(可支持动态数据+分页效果)...

    asp.net会经常遇到分页的效果,尤其是希望实现静态的html分页排序(html分页相信大家都已经有自己的解决方案.在这里就不多说).我写了一个简单的Demo排序. 数据就是字母和数字两组.(汉字需 ...

  7. Case study:在数据库网页中设计数据排序工具

    一.目的 该笔记的目的是引导读者在已搭建的数据库网页的基础上,利用JS设计数据排序工具.其效果如图1所示."Order by"下拉列表框由一系列字段组成,如"Locati ...

  8. python使用np.argsort对一维numpy概率值数据排序获取倒序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据

    python使用np.argsort对一维numpy概率值数据排序获取倒序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据 ...

  9. python使用np.argsort对一维numpy概率值数据排序获取升序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据

    python使用np.argsort对一维numpy概率值数据排序获取升序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据 ...

最新文章

  1. 复习PHP-语言参考-类型
  2. 配对MPLS和SD-WAN是一个双赢的方案
  3. 【ABAP增强】基于源代码的增强
  4. Mysql中的行级锁、表级锁、页级锁
  5. JAVA Set接口和其常用子类HashSet集合
  6. 基于 HTML5 WebGL 的 3D 服务器与客户端的通信
  7. mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.
  8. Ubuntu16.04开机进入单用户模式,破解root密码
  9. 微信又上线新功能,能让你更会聊天?
  10. java中怎么判断返回200_java – 从Spring REST API返回HTTP代码200
  11. 微信小程序wx.request请求用POST后台得不到传递数据
  12. VMware与 Device/Credential Guard 不兼容.
  13. oracle数据库恢复aul_Oracle数据库救命恢复工具:gDUL3.0
  14. Python:实现拓扑排序算法(附完整源码)
  15. 解决因多网卡导致dubbo注册到ZK的IP错误问题,dubbox(当当,2.8.4)升级至dubbo(Apache,2.7.15)并集成
  16. 日记|自2021-11-08始
  17. Java创建图片并绘图
  18. Finalshell反复提示输入密码
  19. KubernetesDatabase-k8s中helm方式安装postgresql及pgadmin
  20. [DSP 日常记录] #1 冯诺依曼结构、哈佛结构与改进型哈佛结构

热门文章

  1. Java String.substring内存泄露?
  2. 精品德国软件 UltraShredder 文件粉碎机
  3. 搭建Mantis 缺陷管理系统(转)
  4. 使用dom4j解析XML例子
  5. 百度重置页面自动跳转脚本
  6. JS字符串 window.open() window.opener window.name window对象总结
  7. Java接口对Hadoop集群的操作
  8. Web APi之消息处理管道(五)
  9. Struts2返回json
  10. cookiesession的QA故事[原理篇]