P8637 [蓝桥杯 2016 省 B] 交换瓶子

devtools/2025/3/4 22:56:05/

P8637 [蓝桥杯 2016 省 B] 交换瓶子 - 洛谷

题目描述

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

比如有 5 个瓶子:

markdow

2, 1, 3, 5, 4

要求每次拿起 2 个瓶子,交换它们的位置。

经过若干次后,使得瓶子的序号为:

markdown

1, 2, 3, 4, 5

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

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

输入格式

第一行:一个正整数 N(N<10000),表示瓶子的数目。

第二行:N 个正整数,用空格分开,表示瓶子目前的排列情况。

输出格式

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

输入输出样例

输入 #1

markdown

5
3 1 2 5 4

输出 #1

markdown

3

输入 #2

markdown

5
5 4 3 2 1

输出 #2

markdown

2

说明/提示

时限 1 秒,256M。蓝桥杯 2016 年第七届省赛

蓝桥杯 2016 年省赛 B 组 I 题。

思路:

直接模拟从第一个到最后一个,是否与正确的答案相同,不是就翻转i和i+1


代码如下:

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int N = 1e5+10;
int a[N],n,cnt;
int main() 
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;for(int i = 1 ; i <= n ; i++){cin >> a[i];}for(int i = 1 ; i <= n ; i++){if(a[i] != i){for(int j = i ; j <= n ; j++){if(a[j] == i){swap(a[i],a[j]);cnt++;}}}}cout << cnt;return 0;
}


http://www.ppmy.cn/devtools/164579.html

相关文章

【CSS—前端快速入门】CSS 选择器

CSS 1. CSS介绍 1.1 什么是CSS? CSS(Cascading Style Sheet)&#xff0c;层叠样式表&#xff0c;用于控制页面的样式&#xff1b; CSS 能够对网页中元素位置的排版进行像素级精确控制&#xff0c;实现美化页面的效果&#xff1b;能够做到页面的样式和 结构分离&#xff1b; 1…

【弹框组件封装】展示、打印、下载XX表(Base64格式图片)

目录 打印、下载弹框组件组件使用弹框展示 打印、下载弹框组件 /components/PrintDialog.vue <!-- 打印、下载弹框 --> <template><el-dialog:title"title"top"3vh"append-to-body:visible.sync"dialogVisible":close-on-click…

基于web端的ftp程序

搭建一个web页面访问的FTP服务器 github官网地址 vsftpd 程序搭建跳转地址 vsftpd 搭建完成之后&#xff0c;开始搭建 ftp-web 下载运行该项目需要 Node.js v4 才能运行。# node 版本为 v16.20.2 node -v v16.20.2git clone https://github.com/liuqi6908/ftp-web-client.gi…

SpringBoot系列之Spring AI+DeekSeek创建AI应用

使用 Spring AI 与 DeepSeek 创建智能 AI 应用 随着人工智能技术的飞速发展&#xff0c;AI 已经成为现代软件应用中不可或缺的一部分。从智能对话系统到内容生成工具&#xff0c;AI 的应用场景日益丰富。Spring AI 是 Spring 官方推出的用于简化 AI 集成的框架&#xff0c;而 …

java 项目中设计模式 之单例模式

本文是自己学习单例模式的记录&#xff0c;方便以后使用的时候查看&#xff0c;并不专业哈 一、单例模式 1、特点&#xff1a; 单例模式是最简单的一种模式&#xff0c;具有单例模式只能有一个实例&#xff0c;并且必须为其他对象提供一个访问点。单例模式分为懒汉模式和饥饿…

C语言总结目录

一、数据类型【文章链接】 二、标识符【文章链接】​​​​​​​ #编译GCC 三、程序结构语句 四、输入输出函数 五、数组 六、指针 七、数组指针&&指针数组 八、排序算法 九、结构体 十、链表 十一、宏定义 十二、文件读写 十三、静态库&&动态库…

计算机毕设JAVA——某高校宿舍管理系统(基于SpringBoot+Vue前后端分离的项目)

文章目录 概要项目演示图片系统架构技术运行环境系统功能简介 概要 网络上许多计算机毕设项目开发前端界面设计复杂、不美观&#xff0c;而且功能结构十分单一&#xff0c;存在很多雷同的项目&#xff1a;不同的项目基本上就是套用固定模板&#xff0c;换个颜色、改个文字&…

25年前端如何走的更稳

2025年&#xff0c;随着deepseek引起的AI大模型技术的深度革命&#xff0c;带来了很多机会和挑战&#xff0c;前端程序员作为互联网里一个普通但必不可少的岗位&#xff0c;在当前形势下&#xff0c;需要主动变革才能走的更稳。本文简单介绍三个方向&#xff0c;Web3前端、全栈…