七段碼 路徑壓縮 并查集 dfs

12.七段碼 - 藍橋云課

將七個二極管映射為 1-7?

開一個二維矩陣 為 相鄰的邊連上線?

edge[1][2] = edge[1][6] = 1;edge[2][1] = edge[2][3] = edge[2][7] = 1;edge[3][2] = edge[3][4] = edge[3][7] = 1;edge[4][3] = edge[4][5] = 1;edge[5][4] = edge[5][6] = edge[5][7] = 1;edge[6][1] = edge[6][5] = edge[6][7] = 1;edge[7][2] = edge[7][3] = edge[7][5] = edge[7][6] = 1;

由于數據量比較小 一共也就? ? 2^7 = 128種狀態 直接搜索枚舉每個二極管亮還是滅?

將連在一起的邊視為連通塊 遞歸到最后一層 判斷的時候 查看 亮著的聯通塊是否大于1 如果等于1則方案數+1?

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int edge[10][10];
int p[10];
bool st[10];
int ans = 0;
int find(int x){if(p[x] != x){p[x] = find(p[x]);//路徑壓縮 }return p[x];//找到根節點了 直接返回  
}
void dfs(int u){if(u==8){for(int i = 1 ;i<=7;i++){p[i] = i ; // 初始化 自己指向自己作為根節點 }for(int i = 1 ;i <8;i++){for(int j = 1 ; j<8;j++){if(edge[i][j] && st[i]&&st[j] ){///如果兩者相鄰并且都亮著 合并為一個聯通塊  p[find(i)] = find(j);//指向同一個根節點 }}}	int cnt = 0 ;for(int i = 1;i<8;i++){if(st[i]&&(p[i] == i)){cnt++;}}if(cnt==1){ans++;}return ;}st[u] = 1;//第u個二極管亮 dfs(u+1);// 遞歸下個管 st[u] = 0;回溯   第u個二極管滅 dfs(u+1);}
int main(){edge[1][2] = edge[1][6] = 1;edge[2][1] = edge[2][3] = edge[2][7] = 1;edge[3][2] = edge[3][4] = edge[3][7] = 1;edge[4][3] = edge[4][5] = 1;edge[5][4] = edge[5][6] = edge[5][7] = 1;edge[6][1] = edge[6][5] = edge[6][7] = 1;edge[7][2] = edge[7][3] = edge[7][5] = edge[7][6] = 1;dfs(1);cout<<ans;return 0;
}

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

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

相關文章

科技如何改變世界?

技術是我們日常生活中不可或缺的一部分&#xff0c;以至于我們常常忘記了它的重要性。如果你正在科技領域工作&#xff0c;或者希望進入該領域&#xff0c;你可能是眾多有使命感的人之一&#xff0c;希望知道自己的日常工作能為社會或地球的長遠利益做出貢獻。 別再四處尋找了…

抽象的https原理簡介

前言 小明和小美是一對好朋友&#xff0c;他們分隔兩地&#xff0c;平時經常寫信溝通&#xff0c;但是偶然被小明發現他回給小美的信好像被人拆開看過&#xff0c;甚至偷偷被篡改過。 對稱加密算法 開頭的通信過程比較像HTTP服務器與客戶端的通信過程&#xff0c;全明文傳輸…

高級java每日一道面試題-2025年4月13日-微服務篇[Nacos篇]-Nacos如何處理網絡分區情況下的服務可用性問題?

如果有遺漏,評論區告訴我進行補充 面試官: Nacos如何處理網絡分區情況下的服務可用性問題&#xff1f; 我回答: 在討論 Nacos 如何處理網絡分區情況下的服務可用性問題時&#xff0c;我們需要深入理解 CAP 理論以及 Nacos 在這方面的設計選擇。Nacos 允許用戶根據具體的應用…

python解壓文件 zip tar.gz tar.xz

以下代碼為解壓zip包 tar包文件 zip_path&#xff1a;文件絕對路徑 output_folder&#xff1a;文件解壓后存放的文件夾路徑 def extract_file(zip_path, output_folder):# 支持解壓zip tar tar.gz tar.xz .tar.bz2# 確保輸出文件夾存在os.makedirs(output_folder, exist_okT…

網絡基礎(協議,地址,OSI模型、Socket編程......)

目錄 一、計算機網絡發展 二、協議 1.認識協議 2.OSI七層模型 3.TCP/IP 五層(或四層)模型 4.協議本質 三、網絡傳輸流程 1.MAC地址 2.協議棧 3.IP地址 IP地址 vs MAC地址 1. 核心區別 2. 具體通信過程類比 3. 關鍵總結 為什么需要兩者&#xff1f; 4.協議棧圖解…

生成式AI對話中提示詞策略:明確問題、明確目標和提供背景信息是最有效的策略

生成式AI對話中提示詞策略:明確問題、明確目標和提供背景信息是最有效的策略 最有效的提示詞策略包括明確問題、明確目標和提供背景信息。普適性有效提示詞策略可分為三類:明確需求與精確指引型、清晰解釋與邏輯排序型、拆解任務與多樣化表達型。[局限]數據來源于中國用戶,…

AtCoder ABC402 ABCD

A - CBC 把大寫字母按順序連起來 B - Restaurant Queue 一眼隊列&#xff0c;stl模擬就行 C - Dislike Foods 顯然&#xff0c;每次克服暴力枚舉每個菜肴會超時。 然而題目中給了每個菜肴的配菜個數&#xff0c;不妨換過來統計每個配菜用在了哪些菜肴。每次克服時&#x…

Transformer 架構 - 解碼器 (Transformer Architecture - Decoder)

歡迎回到我們的 Transformer 系列教程!在上一篇中,我們詳細探討了 Transformer 的編碼器,它負責將輸入的源序列(比如源語言句子)轉換為一系列包含豐富上下文信息的向量表示。 現在,我們將把目光投向 Transformer 的另一半——解碼器 (Decoder)。解碼器負責接收編碼器的輸…

神經網絡與模型訓練過程筆記

1.專有名詞 ANN 人工神經網絡&#xff0c;一種受生物神經元啟發的監督學習算法。輸入數據通過網絡中的層級函數傳遞&#xff0c;激活特定神經元。函數復雜度越高&#xff0c;模型對數據的擬合能力越強&#xff0c;預測精度越高。 偏置項 其中x下表從1開始的是輸入變量&#xf…

【計算機網絡 | 第二篇】常見的通信協議(一)

HTTP和HTTPS有什么區別&#xff1f; 端口號&#xff1a;HTTP默認是80端口&#xff0c;HTTPS默認是443。 URL前綴&#xff1a;HTTPHTTP 的 URL 前綴是 http://&#xff0c;HTTPS 的 URL 前綴是 https://。 安全性和資源消耗&#xff1a;HTTP協議運行在TCP上&#xff0c;都是明…

【python實用小腳本系列】用 Python 自己手搓一個給視頻“靜音”的小腳本,批量處理,輕松高效制作“無聲電影”!

嘿&#xff0c;小伙伴們&#xff01;今天我來給大家介紹一個超實用的 Python 小工具——一個能給視頻“靜音”的“聲音消除器”&#xff01;是不是聽起來很酷&#xff1f;想象一下&#xff0c;你可以把任何有聲視頻變成無聲視頻&#xff0c;是不是很有趣&#xff1f;接下來&…

【gpt生成-總覽】怎樣才算開發了一門編程語言,需要通過什么測試

開發一門真正的編程語言需要經歷完整的設計、實現和驗證過程&#xff0c;并通過系統的測試體系驗證其完備性。以下是分階段開發標準及測試方法&#xff1a; 一、語言開發核心階段 1. 語言規范設計&#xff08;ISO/IEC 標準級別&#xff09; ??語法規范??&#xff1a;BNF/…

leetcode222 完全二叉樹的節點個數

完全二叉樹 的定義如下&#xff1a;在完全二叉樹中&#xff0c;除了最底層節點可能沒填滿外&#xff0c;其余每層節點數都達到最大值&#xff0c;并且最下面一層的節點都集中在該層最左邊的若干位置。若最底層為第 h 層&#xff08;從第 0 層開始&#xff09;&#xff0c;則該層…

若依集成BladeX單點登錄的令牌管理與api請求流程

目錄 概述系統架構單點登錄流程令牌管理機制接口調用流程關鍵代碼實現數據結構安全性考慮常見問題與解決 概述 本文檔詳細說明若依系統如何實現與BladeX的單點登錄集成&#xff0c;包括令牌管理和接口調用的完整流程。整個集成采用基于OAuth2的授權碼流程&#xff0c;允許用…

《AI大模型應知應會100篇》第27篇:模型溫度參數調節:控制創造性與確定性

第27篇&#xff1a;模型溫度參數調節&#xff1a;控制創造性與確定性 摘要 在大語言模型的使用中&#xff0c;“溫度”&#xff08;Temperature&#xff09;是一個關鍵參數&#xff0c;它決定了模型輸出的創造性和確定性之間的平衡。通過調整溫度參數&#xff0c;您可以根據任…

愛普生SG2520VGN差分晶振5G基站的時鐘解決方案

在 5G 通信時代&#xff0c;數據流量呈爆發式增長&#xff0c;5G 基站作為信號的核心中轉樞紐&#xff0c;承載著前所未有的數據傳輸與處理重任。從海量的物聯網設備連接&#xff0c;到高速移動用戶的數據交互&#xff0c;每一個環節都對基站的性能提出了嚴苛要求。而精準穩定的…

GitHub SSH連接終極解決方案

GitHub SSH連接終極解決方案&#xff1a;443端口修改多場景故障排查指南 一、問題現象速查 當開發者執行以下命令時出現連接異常&#xff1a; ssh -T gitgithub.com常見報錯類型&#xff1a; 經典端口阻塞ssh: connect to host github.com port 22: Connection refused密鑰驗…

面向新一代擴展現實(XR)應用的物聯網框架

中文標題&#xff1a; 面向新一代擴展現實&#xff08;XR&#xff09;應用的物聯網框架 英文標題&#xff1a; Towards an IoT Framework for the New Generation of XR Applications 作者信息 Joo A. Dias&#xff0c;UNIDCOM - IADE&#xff0c;歐洲大學&#xff0c;里斯本&…

Qt unknown module(s) in qt:serialport解決方法

在Ubuntu和CentOS系統中,若使用Qt時遇到Unknown module(s) in QT: serialport錯誤,通常是由于未正確安裝Qt的串口模塊(QSerialPort)或項目配置不當導致。以下是針對兩種系統的解決方案: 一、安裝Qt串口模塊 1. Ubuntu/Debian系列 安裝開發包: 執行以下命令安裝Qt5串口模…

閥門軸承電動車工件一鍵精修軟件

若需定制開發“ComfyUI意見精修軟件” 技術棧建議&#xff1a; 前端&#xff1a;React/Vue Figma插件API&#xff08;直接讀取設計稿&#xff09;。 后端&#xff1a;Node.js/Python NLP庫&#xff08;spaCy/NLTK&#xff09;。 數據庫&#xff1a;MongoDB&#xff08;存儲…