1224. 交換瓶子(藍橋杯/圖論)

題目:

1224. 交換瓶子 - AcWing題庫

輸入樣例1:
5
3 1 2 5 4
輸出樣例1:
3
輸入樣例2:
5
5 4 3 2 1
輸出樣例2:
2

思路:圖論?

1.將對應的位置與當前的瓶子序列相連形成環。

2.最少交換次數=能形成的最多環數n-當前形成的環數cnt

?代碼:

#include<cstdio>
#include<iostream>
using namespace std;
const int N=10010;
int b[N];//儲存輸入的瓶子序列
bool st[N];//判斷相應編號的瓶子是否出現過
int cnt;//表示環的數量
int main()
{int n;cin>>n;for(int i=1;i<=n;i++)scanf("%d",&b[i]);for(int i=1;i<=n;i++){if(!st[i])//該序列瓶子未出現過{cnt++;//環數量+1//將同i在同一個環的瓶子序列全部標記for(int j=i;!st[j];j=b[j])st[j]=true;}}//最少交換次數=n個數最多能形成的環數-當前環數(同環內兩瓶子每交換一次環數+1)cout<<n-cnt;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536792.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536792.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536792.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue中的事件委托(事件代理)使用方法介紹

事件委托&#xff08;事件代理&#xff09; 將原本需要綁定在子元素上的事件監聽器委托在父元素上&#xff0c;讓父元素充當事件監聽的職務。 事件委托是一種利用事件冒泡的特性&#xff0c;在父節點上響應事件&#xff0c;而不是在子節點上響應事件的技術。它能夠改善性能&a…

如何理解JDK、JRE、JVM區別與聯系

摘要&#xff1a;JDK是 Java 語言的軟件開發工具包(SDK)。在JDK的安裝目錄下有一個jre目錄&#xff0c;里面有兩個文件夾bin和lib&#xff0c;在這里可以認為bin里的就是jvm&#xff0c;lib中則是jvm工作所需要的類庫&#xff0c;而jvm和 lib合起來就稱為jre。 一、JDK JDK(Ja…

【【迭代16次的CORDIC算法-verilog實現】】

迭代16次的CORDIC算法-verilog實現 -32位迭代16次verilog代碼實現 CORDIC.v module cordic32#(parameter DATA_WIDTH 8d32 , // we set data widthparameter PIPELINE 5d16 // Optimize waveform)(input …

第十四章Java博客

lambda就是數學中的“λ”的讀音&#xff0c;lambda表達式是基于λ演算而得名的&#xff0c;因為lambda抽象&#xff08;lambda abstraction&#xff09;表示一個匿名的函數&#xff0c;于是開發語言也將lambda表達式用來表示匿名函數&#xff0c;也就是沒有函數名字的函數。C#…

maven管理工具使用package打包的時候無法將lib文件夾下的第三方jar包打入,上線打jar包后運行異常問題

問題描述&#xff1a; 調用第三方接口的時候通過手動引入了第三方的兩個jar包到我本項目的lib文件夾下&#xff0c;并在pom文件添加入下配置&#xff1a; <dependency><groupId>cn.xxxx.xxxx.core</groupId><artifactId>xxxx-core</artifactId>…

Spring Boot 中實現跨域的幾種方式

前言 在現代Web應用中&#xff0c;由于安全性和隱私的考慮&#xff0c;瀏覽器限制了從一個域向另一個域發起的跨域HTTP請求。解決這個問題的一種常見方式是實現跨域資源共享&#xff08;CORS&#xff09;。Spring Boot提供了多種方式來處理跨域請求&#xff0c;本文將介紹其中的…

C語言字符串處理提取時間(ffmpeg返回的時間字符串)

【1】需求 需求&#xff1a;有一個 “00:01:33.90” 這樣格式的時間字符串&#xff0c;需要將這個字符串的時間值提取打印出來&#xff08;提取時、分、秒、毫秒&#xff09;。 這個時間字符串從哪里來的&#xff1f; 是ffmpeg返回的時間&#xff0c;也就是視頻的總時間。 下…

vs快捷鍵

ctrlMo 折疊代碼塊 ctrlML 打開代碼塊

電子電器架構(E/E)演化 —— 主流主機廠域集中架構概述

電子電器架構(E/E)演化 —— 主流主機廠域集中架構概述 我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 屏蔽力是信息過載時代一個人的特殊競爭力,任何消耗你的人和事,多看一眼都是你的不對。…

系列七(實戰)、發送 接收單向消息(Java操作RocketMQ)

一、發送 & 接收單向消息 1.1、概述 發送單向消息&#xff0c;適用于發送方不關心或者不在意消息的發送結果&#xff0c;這種方式的吞吐量很大&#xff0c;但是存在消息丟失的風險&#xff0c;對于重要消息要慎用&#xff01;該種方式通常適用于對消息沒有那么嚴格的場景中…

類和對象的創建和實例化

1. 類的概述 1.1 具體示例 類是描述一類事物的特征和行為的統稱&#xff0c;抽象的不存在的&#xff0c;泛指的概念&#xff0c;例如&#xff1a;描述一個人&#xff0c;從外觀上&#xff08;特征&#xff09;和言行舉止&#xff08;行為&#xff09;上進行描述外觀上&#xff…

c 語言學習:輸出階乘的算式

c 語言學習&#xff1a;輸出階乘的算式 代碼 #include "stdio.h"int fact(int num){if (num < 1){printf("1 ");return 1;} else {printf("%d x ",num);return num * fact(num-1);} }int main(){int num 10; // printf("plz inpu…

【華為OD題庫-107】編碼能力提升計劃-java

題目 為了提升軟件編碼能力&#xff0c;小王制定了刷題計劃&#xff0c;他選了題庫中的n道題&#xff0c;編號從0到n-1&#xff0c;并計劃在m天內按照題目編號順序刷完所有的題目(注意&#xff0c;小王不能用多天完成同一題) 在小王刷題計劃中&#xff0c;小王需要用time[i]的時…

老鷹目標檢測數據集VOC格式60張

老鷹是天空中的王者&#xff0c;它們擁有極佳的飛行能力。它們能以驚人的速度在天空中翱翔&#xff0c;尤其擅長高空俯沖捕食。老鷹的視力非常敏銳&#xff0c;能夠準確地發現地面上的獵物&#xff0c;并迅速下落抓取。它們的爪子強而有力&#xff0c;足以擊倒比自己體型龐大的…

云計算與大數據之間的羈絆(期末不掛科版):云計算 | 大數據 | Hadoop | HDFS | MapReduce | Hive | Spark

文章目錄 前言&#xff1a;一、云計算1.1 云計算的基本思想1.2 云計算概述——什么是云計算&#xff1f;1.3 云計算的基本特征1.4 云計算的部署模式1.5 云服務1.6 云計算的關鍵技術——虛擬化技術1.6.1 虛擬化的好處1.6.2 虛擬化技術的應用——12306使用阿里云避免了高峰期的崩…

NAT路由器,將內網ip轉換為外網ip

Network Address Translation&#xff0c;網絡地址翻譯。 概念 NAT就是在局域網內部使用內部地址&#xff0c;而當內部節點要與外部網絡通信時&#xff0c;在網關將內部地址替換為公用地址&#xff0c;從而在外部網關正常使用。 NAT表是轉換的核心 NAT路由器有NAT表&#xf…

0基礎學習VR全景平臺篇第131篇:曝光三要素—光圈

上課&#xff01;全體起立~ 大家好&#xff0c;歡迎觀看蛙色官方系列全景攝影課程&#xff01; 我們經常從電視或書刊上看到這樣的照片&#xff0c;照片的主體清晰&#xff0c;前后鏡朦朧虛化&#xff0c;整體看起來非常的漂亮。那這樣的照片是如何拍出來的呢&#xff1f;他和…

為什么要出現并發?并發的三要素

大家好&#xff0c;我是"java繼父"伯約&#xff0c;假如這篇對大家有幫助的話求一個贊&#xff0c;另外文章末尾放了我從小白到架構師多年的學習資料。 1.為什么需要多線程 眾所周知&#xff0c;CPU、內存、I/O 設備的速度是有極大差異的&#xff0c;為了合理利用 C…

Vue編寫登錄注冊頁面前端校驗

登錄注冊校驗 template頁面 <div class"app-login"><!--登錄 --><div class"form"><el-form ref"form" size"large" autocomplete"off" v-if"isLogin" :model"registerData" :r…

FXCM福匯官網:深入解析BOLL指標的喇叭口形態及含義

BOLL指標是一種通過布林線&#xff08;Bollinger Bands&#xff09;的上軌線、中軌線和下軌線的相互關系來判斷市場趨勢和波動性的技術分析工具。BOLL指標的喇叭口形態包括開口型、收口型和緊口型&#xff0c;它們各自具有獨特的含義。 《FXCM福匯官網開戶》 1. 開口型喇叭口…