[蓝桥杯2016初赛]交换瓶子

题目描述

有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
5
5 4 3 2 1
样例输出
3
2
代码如下:

#include <iostream>
#include <cstring>
using namespace std;
const int N = 10010;
int a[N];
bool st[N];int main() {int n;while (cin >> n) {int cnt = 0;memset(st, 0, sizeof(st));for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++) {if (!st[i]) {cnt++;for (int j = i; !st[j]; j = a[j]) {st[j] = true;}}}cout << n - cnt << endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软开源Scalar,提升操作巨型Git仓库的速度

Git 属于分布式版本控制系统&#xff0c;默认情况下&#xff0c;每个 Git 仓库都具有整个历史记录的完整文件副本。即便是中等规模的开发团队也会产生数千个提交&#xff0c;每个月向仓库添加几百兆的数据。而随着仓库的占用空间增加&#xff0c;Git 难以管理所有数据&#xff…

word List 41

word List41 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

b树与b+树的区别_面试必考:B树、B树、B+树、B*树图文详解

B树B树又叫做二叉搜索树&#xff0c;倒状的树形结构。如下图所示特点&#xff1a;所有的非子夜节点最多拥有两个子节点树(左子树和右子树)。所有结点存储一个关键字。节点的左右儿子&#xff0c;左边是比该节点小的&#xff0c;右边是比该节点大的。缺点&#xff1a;因为二叉搜…

[蓝桥杯2016初赛]煤球数目-找规律

题目描述 有一堆煤球&#xff0c;堆成三角棱锥形。具体&#xff1a; 第一层放1个&#xff0c; 第二层3个&#xff08;排列成三角形&#xff09;&#xff0c; 第三层6个&#xff08;排列成三角形&#xff09;&#xff0c; 第四层10个&#xff08;排列成三角形&#xff09;&…

.NET Core开发实战(第6课:作用域与对象释放行为)--学习笔记(上)

06 | 作用域与对象释放行为作用域主要由 IServiceScope 这个接口来承载对于实现 IDisposable 类的实例的对象&#xff0c;容器会负责对其生命周期进行管理&#xff0c;使用完毕之后&#xff0c;他会释放这些对象实现 IDisposable 接口类型的释放&#xff1a;1、容器只会负责由其…

python调试_Python调试坑

写python的人一般都不太看重调试&#xff0c; 因为这是一门解释性语言&#xff0c; 在哪出错会立马在解释器里提示出来。但是&#xff0c; 以上观点只适用于小的脚本或者项目。因为我在接触目前项目之前&#xff0c; 我一直都是这么做的。 对于一个大的项目来说&#xff0c; 调…

[蓝桥杯]字符串对比-模拟

题目描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间)&#xff0c;它们之间的关系是以下4中情况之一&#xff1a;   1&#xff1a;两个字符串长度不等。比如 Beijing 和 Hebei   2&#xff1a;两个字符串不仅长度相等&#xff0c;而且相应位置上的字符…

word List 42

word List 42 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

利用AppMetrics对Web进行监控教程

一、基础准备1. 安装依赖这里可以通过nuget或使用命令行进行安装&#xff0c;具体需要安装的类库如下&#xff08;注意版本&#xff09;&#xff1a;Install-Package App.Metrics.AspNetCore.Mvc -Version 2.0.0由于我们需要兼容Prometheus进行监控&#xff0c;所以我们还需要安…

matlab贝叶斯优化工具箱_经济学人的神器——BEAR(贝叶斯估计、分析和回归工具包)...

武林至尊&#xff0c;宝刀屠龙&#xff0c;号令天下&#xff0c;莫敢不从&#xff0c;倚天不出&#xff0c;谁与争锋。——金庸《倚天屠龙记》Bayesian Estimation, Analysis and Regression(简写为BEAR) Toolbox是欧央行(ECB)发布的一个综合 (面板)VAR工具箱&#xff0c;通过图…

[蓝桥杯2017决赛]平方十位数-枚举+set去重

题目描述 由0~9这10个数字不重复、不遗漏&#xff0c;可以组成很多10位数字。 这其中也有很多恰好是平方数&#xff08;是某个数的平方&#xff09;。 比如&#xff1a;1026753849&#xff0c;就是其中最小的一个平方数。 请你找出其中最大的一个平方数是多少&#xff1f; 输出…

计算机网络----wireshark抓包

计算机网络----wireshark抓包 抓包截图&#xff1a; 先了解&#xff0c;后期将细讲&#xff01;&#xff01;&#xff01; 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

如何为.NETCore安装汉化包智能感知

引言具体不记得是在群里还是什么地方有人问过&#xff0c;.NETCore有没有汉化包&#xff0c;答案是有&#xff0c;目前微软已经为我们提供了.NETCore多种语言的语言包。下面看看如何安装与使用吧。本文介绍&#xff1a;如何安装这些下载的本地化版本。如何修改Visual Studio安装…

python对浏览器的常用操作_selenium+python基本操作(02)

前言 前一章节已经完成环境搭建&#xff0c;下面简单介绍下对浏览器的基本操作&#xff0c;让大家先了解一些简单的操作。这节主要介绍浏览器打开、刷新、前进、后退、截图、退出等功能。 1&#xff09;打开浏览器 from selenium import webdriver #导入webdriver模块 driver …

[召集令]-Dijkstra的单源最短路径算法

2021.3.10 题目背景 墨家家主发出召集令&#xff0c;所有弟子得迅速到指定地点集合。 题目描述 给定一张地图&#xff0c;含有n个地点(n<10000)&#xff0c;地点从1开始编号&#xff0c;地图上还含有m条单向路(m<100000)连接着这些地点&#xff0c;墨家家主在1号位置&am…

word List 43

word List 43 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

小微技术团队的DevOps体系折腾之路(顺带发布52ABP新版本)

加个“星标★”&#xff0c;好文必达&#xff01;本想纯粹说下52ABP新版本发布&#xff0c;但是写着写着,过去的时间更多折腾的是DevOps体系的建设。这篇同样适用于小公司或者个人开发者脱离人肉运维的方法。说下52ABP&#xff0c;我们发布了新版本&#xff0c;版本号3.1.0&…

python递归创建目录_Node.js和Python使用递归查看目录文件和创建目录

1. 查看目录文件: 1.1 Node实现&#xff1a; let fs require(fs); let path require(path); let filePath path.resolve(D:); fileDisplay(filePath); function fileDisplay(filePath){ //根据文件路径读取文件&#xff0c;返回文件列表 fs.readdir(filePath,function(err,f…

管理学定律--彼得原理

彼得原理由美国管理学家劳伦斯彼得&#xff08;Laurence&#xff0e;J&#xff0e;Peter&#xff09;根据千百个有关组织中不能胜任的失败实例的分析而归纳出来&#xff0c;于1960年的一次研习会上提出。其具体内容是&#xff1a;“在一个等级制度中&#xff0c;每个员工趋向于…

word List44

word List44 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;