蓝桥杯2016年C语言B组

  • 交换瓶子
    • 代码

交换瓶子

有N个瓶子,编号 1 ~ N,放在架子上。

比如有5个瓶子:
2 1 3 5 4

要求每次拿起2个瓶子,交换它们的位置。
经过若干次后,使得瓶子的序号为:
1 2 3 4 5

对于这么简单的情况,显然,至少需要交换2次就可以复位。

如果瓶子更多呢?你可以通过编程来解决。

输入格式为两行:
第一行: 一个正整数N(N<10000), 表示瓶子的数目
第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。

输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。

例如,输入:
5
3 1 2 5 4

程序应该输出:
3

再例如,输入:
5
5 4 3 2 1

程序应该输出:
2

代码

这里要注意不能简单的理解为排序算法,我第一次写的时候就直接写的是冒泡排序结果发现第二个例子不符合,原因在于已经确定的瓶子位置是不用动的,而冒泡排序会把所有情况都要遍历一遍所以我们要用if条件把这类情况给排除掉。

#include<bits/stdc++.h>
using namespace std;
int main()
{int a[1000];int n;cin>>n;int sum=0;for(int i=0;i<n;i++){cin>>a[i];}for(int i=0;i<n;i++){if(a[i]=i)continue;for(int j=i+1;j<n;j++){int t;if(a[j-1]>a[j]){t=a[j-1];a[j-1]=a[j];a[j]=t;sum++;}}}cout<<sum;return 0;
}

蓝桥杯2016年C语言B组-交换瓶子相关推荐

  1. 蓝桥杯c语言校内选拔赛试题,2013年蓝桥杯校内选拔赛C语言B组.docx

    2013年蓝桥杯校内选拔赛C语言B组.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...

  2. 2015年第七届蓝桥杯省赛C语言B组

    2015年第七届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题: 题目:奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就 ...

  3. 2012年第三届蓝桥杯省赛C语言B组

    2012年第三届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题 题目:微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次( ...

  4. 蓝桥杯7届c语言 c组答案,第七届蓝桥杯C语言C组-(自己懂的题目)

    第七届蓝桥杯C语言C组-(自己懂的题目) 表示刚刚查了成绩,省赛一等奖,有资格去北京了,然后写一下总结, 先来写一下我懂的题目,毕竟我也是菜鸟,听说国赛比预赛难几个等级... 第一题 报纸页数 X星球 ...

  5. 第九届蓝桥杯 省赛 C语言A组

    第一次参加这种比赛,心里有点小忐忑,虽然已是大三狗,但是还是啥都不会.算是一次锻炼吧.. 下面答案都是自己做的,有什么不对的地方还恳请指出.                               ...

  6. 2018省赛第九届蓝桥杯真题C语言B组第十题题解 乘积最大

    2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:乘积最大 给定N个整数A1, A2, ... AN.请你从中选出K个数,使其乘积最大.   请你求出最大的乘积,由于乘积可能超出整型范围,你只 ...

  7. 2018省赛第九届蓝桥杯真题C语言B组第五题题解 快速排序

    2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:快速排序. 以下代码可以从数组a[]中找出第k小的元素. 它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的. 请仔细阅读分析源码, ...

  8. 2018省赛第九届蓝桥杯真题C语言B组第九题题解 全球变暖

    2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:全球变暖 你有一张某海域NxN像素的照片,"."表示海洋."#"表示陆地,如下所示: ....... ...

  9. 2018省赛第九届蓝桥杯真题C语言B组第八题题解 日志统计

    2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在t ...

最新文章

  1. 15-奇怪的Js文件引用问题
  2. 网上有打印按键怎么设置下载_打印机共享怎么设置 如何设置打印机共享【详细攻略】...
  3. arquillian_使用Arquillian(远程)测试OpenLiberty
  4. 我们并没有觉得MapReduce速度慢,直到Spark出现
  5. Linux截图工具import使用说明
  6. CCCC-GPLT L3-014. 周游世界 团体程序设计天梯赛
  7. jbod ugood 磁盘驱动状态_NTFS磁盘读写工具Mounty免费版
  8. 游戏内存读取工具_不因内存弃旧爱,东芝Canvio Gaming移动硬盘评测
  9. 安徽省计算机水平模拟考试系统,中学信息技术考试练习系统——安徽省版
  10. klwp主题大全_klwp主题包百度网盘版下载-klwp主题包百度云版_5577安卓网
  11. JavaScript 基础知识总结归纳(一)
  12. 电子与电工技术实验——集成运算放大器的应用
  13. 【python】urlencode、quote、unquote
  14. linux debian 设置 开机 启动
  15. 双线性光强插值(Gouraud明暗处理)学习笔记
  16. Java猫叫的方式,以【猫叫、老鼠跑、主人醒】为例子,使用 javascript 来实现 观察者模式 (有在线演示)...
  17. Pandas拼接、数据分析实操
  18. 跳过H5页面视频的方法
  19. Pymol获得蛋白中二级结构信息
  20. 3000商家挤进云栖小镇,抢滩阿里速卖通平台

热门文章

  1. Android开发之svn命令行以及cornerston教程
  2. 设置计算机id管理员默认密码是多少钱,路由器默认(初始)管理员登录密码是多少?...
  3. 屌丝程序员和技术大拿的区别是什么?
  4. cocos creator粒子不变色_Cocos Creator 3D 粒子系统初战: 不要钱的酷炫火焰拿走不谢!...
  5. 6.27软件园与血站见习报告
  6. elementui tree控制节点展开与否
  7. android 图库开发实例,Android中从图库中选取图片实例详解
  8. 转:世上最愚蠢的行为,就是讲道理
  9. 智能家居“伪智能”陷阱此起彼伏 该如何辨别?
  10. 从NIB中加载VIEW