网站页面
当前课程
成员
常规
第一章 C++语言入门
第二章 基本结构
第三章 实战演习
第五章 阶段检测1
第六章 函数
第七章 阶段检测2
第八章 指针
第九章 结构体
第十章 进制与位运算
第十一章 STL
车厢重组
成绩 | 100 | 开启时间 | 2018年10月14日 星期日 12:30 |
折扣 | 0.8 | 折扣时间 | 2018年10月14日 星期日 12:30 |
允许迟交 | 是 | 关闭时间 | 2018年10月14日 星期日 12:30 |
输入文件 | train.in | 输出文件 | train.out |
【上机实践】车厢重组(train.cpp)
一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。试编程输入初始的车厢顺序,计算最少用多少步就能将车厢排序。
【输入格式】
输入文件为train.in,有两行数据,第一行是车厢总数N(不大于10000),第二行是N个不同的数表示初始的车厢顺序。
【输出格式】
输出文件为train.out,有一个数据,即最小的旋转次数。
【样例输入】
4
4 3 2 1
【样例输出】
6