题目描述:

众所周知JOBDU旗下的JOBBALA公司是一家以个性、亲民著称的IT公司。在JOBBALA公司成立50周年的日子里,公司CEO组织全体员工登山旅游。按照往常的习惯,导游通常要求游客按照身高从低到高的顺序排好,但是考虑这次JOBBALA人数太多,排序很耗时间。因此,导游想了想,要求JOBBALA的员工可以随便排,但是必须保证队列的第一个是队列中最矮的,队列的最后一个是队列中最高的。例如:队列 { 1, 4, 3, 2, 2, 5} 就是符合的队列,{1, 4, 2, 3, 2, 5}也符合,而{2, 1, 2, 3, 4, 5}就是错的。请问对于任意的队列,最少要两两交换多少次,可以让其符合导游的要求?

输入:

输入有多组测试案例,每个测试案例为2行。

第一行包括一个整数n(2<=n<=200)表示人数,接下来一行包括n个整数a1, a2, …… an (1<=ai<=200) 表示n个员工初始的排列。

输出:

对应每个测试案例,按照导游的要求,输出最少需要两两交换的次数。

样例输入:
2
89 88
4
55 88 1 2
样例输出:
1
3
提示:
案例2中,最少需要移动三次:(55 88 1 2) -> (55 1 88 2) -> (1 55 88 2) -> (1 55 2 88)
 
 #include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <algorithm> int main(int argc, char const *argv[])
{
int n;
while(scanf("%d",&n) != EOF) {
int min, max;
scanf("%d",&min);
max = min;
int mini = , maxi = ;
int temp;
for(int i = ; i < n; i++) {
scanf("%d",&temp);
if(min > temp) {
min = temp;
mini = i;
}
if(max <= temp) {
max = temp;
maxi = i;
}
}
int ans;
if(mini < maxi) {
ans = mini + n - - maxi;
}
else if(mini > maxi) {
ans = mini + n - - (maxi + );
}
printf("%d\n", ans);
}
return ;
}

最新文章

  1. 解决ArcGIS中因SDE或数据库配置问题而导致服务宕掉的一种思路
  2. FineReport中hadoop,hive数据库连接解决方案
  3. 重写Oracle的wm_concat函数,自定义分隔符、排序
  4. 使用CXF 来发布一个 service
  5. 网站性能评分工具Yslow 使用教程
  6. HDFS分布式文件系统设计思想
  7. notepad++ :正则表达式系统教程
  8. VS2010 发布网站时如何使DLL文件名固定
  9. Mac OS升级到Yosemite后一些问题
  10. =&gt; 朗姆达表达式带入符号
  11. MongoDB入门解析【学习记录】
  12. 转载--MYSQL5.7:Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password:YES)解决方法
  13. python 统计单词个数,并按个数与字母排序
  14. python学习Day13 函数的嵌套定义、global、nonlocal关键字、闭包及闭包的运用场景、装饰器
  15. 百度地图支持https
  16. C/S,B/S的应用的区别
  17. 用VSCode的debugger for chrome插件调试服务器项目的配置方式
  18. js内存空间的那点事
  19. Mac安装MySQL数据库
  20. 【刷题】BZOJ 3495 PA2010 Riddle

热门文章

  1. SSM环境集成log4j
  2. MessageQueue消息队列的开启
  3. Oracle查询排序asc/desc 多列 order by
  4. CF1025C Plasticine zebra
  5. IOS实现弹出菜单效果MenuViewController(背景 景深 弹出菜单)
  6. 【Web应用-大文件部署】上传超过 2M 的文件到 Azure PHP 网站失败
  7. Android学习总结(十)———— Intent的使用
  8. K-means、KNN学习笔记
  9. (八)maven学习之继承
  10. block的优势