蓝桥杯Problem D: 交换瓶子
来源:互联网 发布:全国行政区域编码数据 编辑:程序博客网 时间:2024/05/28 06:07
问题及代码:
Submit: 41 Solved: 31
[Submit][Status][Web Board]
选择排序的思想
Problem D: 交换瓶子
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 41 Solved: 31
[Submit][Status][Web Board]
Description
有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子: 2 1 3 5 4
要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:
1 2 3 4 5
对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。
Input
第一行: 一个正整数N(N<10000), 表示瓶子的数目
第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。
Output
输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。
Sample Input
53 1 2 5 4
Sample Output
3
HINT
#include <stdio.h>#include <stdlib.h> int sum=0; int a[100];swap(int i,int j){ sum++; int t; t=a[i]; a[i]=a[j]; a[j]=t;}int main(){ int i,j,n; int x,temp; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a[i]); } for(i=1;i<=n;i++) { if(i!=a[i]) {swap(i,a[i]); } } printf("%d\n",sum); return 0;}
选择排序的思想
0 0
- 蓝桥杯Problem D: 交换瓶子
- 蓝桥杯 交换瓶子
- 交换瓶子(蓝桥杯)
- 交换瓶子 蓝桥杯
- 蓝桥杯_交换瓶子
- 【蓝桥杯】 交换瓶子
- 蓝桥杯2016:交换瓶子
- 蓝桥杯9题----交换瓶子
- 交换瓶子(蓝桥杯入门)
- 交换瓶子
- 交换瓶子
- 交换瓶子
- 交换瓶子
- 交换瓶子
- 交换瓶子
- 交换瓶子
- 蓝桥杯-第七届省赛javaA组-交换瓶子
- 蓝桥杯编程题——交换瓶子
- JavaScript实现图片预览
- 3、TextBox 控件
- 算法训练 十进制数转八进制数
- 决策树之C4.5的生成算法
- java中父类强制转换成子类的错觉
- 蓝桥杯Problem D: 交换瓶子
- 【Unity自己写框架】FairyGUI UI框架(一)
- Jenkins插件开发hellworld
- Excel如何把数字信息按照字符导入Sqlserver
- 四大组件 — ContentProvider
- CAN网络开路和短路带来的影响
- 300. Longest Increasing Subsequence
- 《Head First设计模式》之策略模式
- 【DRP】一阶段