代碼隨想錄算法訓練營 | 圖論 | DFS

98. 所有可達路徑// DFS

#include <bits/stdc++.h>
using namespace std;vector<vector<int>> result;
vector<int> path;void dfs(const vector<list<int>> &graph, int i, int target) {if (i == target) {result.push_back(path);return;}for (int nums : graph[i]) {path.push_back(nums);dfs(graph, nums, target);path.pop_back();}
}int main() {int n, m;cin >> n >> m;vector<list<int>> graph(n + 1);int temp, next;for (int i = 0; i < m; i++) {cin >> temp >> next;graph[temp].push_back(next);}path.push_back(1);dfs(graph, 1, n);if (result.size() == 0)cout<<-1<<endl;for (int i = 0; i < result.size(); i++) {for (int j = 0; j < result[i].size() - 1; j++) {cout << result[i][j] << " ";}cout << result[i][result[i].size() - 1] << endl;}
}

99. 島嶼數量//。。感覺這題沒必要拘泥于用什么搜索。。

#include<bits/stdc++.h>
using namespace std;void DFSfindsameIsland(vector<vector<bool>>& finded,const vector<vector<int>>& graph,int a,int b){if(a<0||b<0||a>graph.size()-1||b>graph[a].size()-1) return;else if(graph[a][b]==0) return;else if(graph[a][b]==1){if(finded[a][b]==false){finded[a][b]=true;DFSfindsameIsland(finded,graph,a,b+1);DFSfindsameIsland(finded,graph,a+1,b);DFSfindsameIsland(finded,graph,a,b-1);DFSfindsameIsland(finded,graph,a-1,b); }else return;}
}
int main(){int i,j;cin>>i>>j;vector<vector<int>> graph(i,vector<int> (j));for(int a=0;a<i;a++){for(int b=0;b<j;b++){cin>>graph[a][b];}}vector<vector<bool>> finded(i,vector<bool> (j,false));int result=0;for(int a=0;a<i;a++){for(int b=0;b<j;b++){if(graph[a][b]==1&&!finded[a][b]){result++;DFSfindsameIsland(finded,graph,a,b);}  }}cout<<result<<endl;     
}

100. 島嶼的最大面積//偷懶了。隨便拿上一題的代碼改改就交了

#include<bits/stdc++.h>
using namespace std;int DFSfindsameIsland(vector<vector<bool>>& finded,const vector<vector<int>>& graph,int a,int b){if(a<0||b<0||a>graph.size()-1||b>graph[a].size()-1) return 0;else if(graph[a][b]==0) return 0;else{if(finded[a][b]==false){int result=1;finded[a][b]=true;result+=DFSfindsameIsland(finded,graph,a,b+1);result+=DFSfindsameIsland(finded,graph,a+1,b);result+=DFSfindsameIsland(finded,graph,a,b-1);result+=DFSfindsameIsland(finded,graph,a-1,b);return result;}else return 0;}
}
int main(){int i,j;cin>>i>>j;vector<vector<int>> graph(i,vector<int> (j));for(int a=0;a<i;a++){for(int b=0;b<j;b++){cin>>graph[a][b];}}vector<vector<bool>> finded(i,vector<bool> (j,false));int result=0;int maxaera=0;for(int a=0;a<i;a++){for(int b=0;b<j;b++){if(graph[a][b]==1&&!finded[a][b]){maxaera=max(maxaera,DFSfindsameIsland(finded,graph,a,b));}  }}cout<<maxaera<<endl;     
}

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

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

相關文章

GPPT: Graph Pre-training and Prompt Tuning to Generalize Graph Neural Networks

GPPT: Graph Pre-training and Prompt Tuning to Generalize Graph Neural Networks KDD22 推薦指數&#xff1a;#paper/??#? 動機 本文探討了圖神經網絡&#xff08;GNN&#xff09;在遷移學習中“預訓練-微調”框架的局限性及改進方向。現有方法通過預訓練&#xff08…

迷你世界腳本方塊接口:Block

方塊接口&#xff1a;Block 彼得兔 更新時間: 2024-08-27 11:04:56 具體函數名及描述如下&#xff1a; 序號 函數名 函數描述 1 isSolidBlock(...) 是否是固體方塊 2 isLiquidBlock(...) 是否是液體方塊 3 isAirBlock(...) 是否是氣體方塊 4 getBl…

Windows下git疑難:有文件無法被跟蹤

Windows下git疑難&#xff1a;有文件無法被跟蹤 最近在寫一個c# WinFrom程序&#xff0c; 奇怪的是&#xff0c;frmMain.cs這個文件一直無法被跟蹤 研究了很久&#xff0c; 參考這一篇 https://blog.csdn.net/m0_37315653/article/details/83064810 git rm --cached ./ -r 之…

Live2d官方項目運行

Live2d官方項目運行 1-參考網址 教程網址&#xff1a;https://blog.csdn.net/qq_39123467/article/details/131735085live2d官方地址&#xff1a;https://live2d.com/cubism-sdk/download/ 2-上手實踐 1&#xff09;先打開官方項目-全部路徑打開2&#xff09;cd /CubismSdkFo…

BUU43 [BJDCTF2020]The mystery of ip 1

前置知識&#xff1a; X - Forwarded - For注入 X - Forwarded - For&#xff08;XFF&#xff09;是一個 HTTP 頭字段&#xff0c;用于記錄客戶端的真實 IP 地址。當客戶端請求經過代理服務器時&#xff0c;代理服務器會將客戶端的 IP 地址添加到 X - Forwarded - For 頭中。…

張岳教授:語言模型推理與泛化研究 | ICLR 2025 特邀報告與團隊專場

點擊藍字 關注我們 AI TIME歡迎每一位AI愛好者的加入&#xff01; AITIME 01 ICLR 2025預講會特邀報告 AITIME 02 ICLR 2025預講會西湖大學張岳老師實驗室專場 01 AI生成文本的自動化檢測 Glimpse: Enabling White-Box Methods to Use Proprietary Models for Zero-Shot LLM-Ge…

MySQL SQL 優化專題

MySQL SQL 優化專題 1. 插入數據優化 -- 普通插入&#xff08;不推薦&#xff09; INSERT INTO tb_user VALUES(1,tom); INSERT INTO tb_user VALUES(2,cat); INSERT INTO tb_user VALUES(3,jerry);-- 優化方案1&#xff1a;批量插入&#xff08;推薦&#xff0c;不建議超過1…

【AI深度學習基礎】NumPy完全指南進階篇:核心功能與工程實踐(含完整代碼)

NumPy系列文章 入門篇進階篇終極篇 一、引言 在掌握NumPy基礎操作后&#xff0c;開發者常面臨真實工程場景中的三大挑戰&#xff1a;如何優雅地處理高維數據交互&#xff1f;如何在大規模計算中實現內存與性能的平衡&#xff1f;怎樣與深度學習框架實現高效協同&#xff1f;…

Python學習第十八天之深度學習之Tensorboard

Tensorboard 1.TensorBoard詳解2.安裝3.使用4.圖像數據格式的一些理解 后續會陸續在詞博客上更新Tensorboard相關知識 1.TensorBoard詳解 TensorBoard是一個可視化的模塊&#xff0c;該模塊功能強大&#xff0c;可用于深度學習網絡模型訓練查看模型結構和訓練效果&#xff08;…

【GraphQL API 漏洞簡介】

GraphQL API 漏洞簡介 一、漏洞原理與分類二、漏洞檢測方法三、典型利用方式四、工具推薦防御建議 GraphQL API 因其靈活性和高效性被廣泛應用&#xff0c;但也因設計和實現缺陷存在多種安全風險。以下從漏洞原理、檢測方法及利用方式三個維度進行詳細分析&#xff1a; 一、漏洞…

Windows逆向工程入門之MASM數據結構使用

公開視頻 -> 鏈接點擊跳轉公開課程博客首頁 -> ???鏈接點擊跳轉博客主頁 目錄 第一章&#xff1a;MASM數據定義體系精要 1.1 基礎數據類型全景 1.1.1 整型數據規范 1.1.2 浮點數據編碼 1.2 復合數據結構 1.2.1 多維數組定義 1.2.2 復雜結構體 第二章&#xf…

筑牢安全防線:工商業場所燃氣泄漏防護新方案

燃氣安全是企業經營不可逾越的生命線。在餐飲后廚、化工車間、酒店鍋爐房等場所&#xff0c;可燃氣體一旦泄漏&#xff0c;極易引發嚴重事故。如何實現精準監測、快速響應&#xff0c;成為工業及商業領域安全管理的核心訴求。旭華智能深耕安全監測領域&#xff0c;推出的工業及…

本地部署大數據集群前置準備

1. 設置VMware網段 虛擬網絡編輯器——更改設置——選擇VMnet8——子網改成192.168.88.0——NAT設置——網關設置為192.168.88.2 2. 下載CentOS操作系統 下載CentOS 7.6(1810)版本 3. 在VMware中安裝CentOS操作系統 創建新的虛擬機——典型——安裝光盤映像文件——輸入賬…

【藍橋杯單片機】第十二屆省賽

一、真題 二、模塊構建 1.編寫初始化函數(init.c) void Cls_Peripheral(void); 關閉led led對應的鎖存器由Y4C控制關閉蜂鳴器和繼電器 由Y5C控制 2.編寫LED函數&#xff08;led.c&#xff09; void Led_Disp(unsigned char ucLed); 將ucLed取反的值賦給P0 開啟鎖存器…

PyCharm接入本地部署DeepSeek 實現AI編程!【支持windows與linux】

今天嘗試在pycharm上接入了本地部署的deepseek&#xff0c;實現了AI編程&#xff0c;體驗還是很棒的。下面詳細敘述整個安裝過程。 本次搭建的框架組合是 DeepSeek-r1:1.5b/7b Pycharm專業版或者社區版 Proxy AI&#xff08;CodeGPT&#xff09; 首先了解不同版本的deepsee…

CSS 系列之:grid 布局

基本概念 <template><div class"parent"><div class"box">p1-1</div><div class"box">p1-2</div><div class"box">p1-3</div></div><div class"parent"><…

數學軟件Matlab下載|支持Win+Mac網盤資源分享

如大家所了解的&#xff0c;Matlab與Maple、Mathematica并稱為三大數學軟件。Matlab應用廣泛&#xff0c;常被用于數據分析、無線通信、深度學習、圖像處理與計算機視覺、信號處理、量化金融與風險管理、機器人&#xff0c;控制系統等領域。 Matlab將數值分析、矩陣計算、科學…

水仙花數(華為OD)

題目描述 所謂水仙花數&#xff0c;是指一個n位的正整數&#xff0c;其各位數字的n次方和等于該數本身。 例如153是水仙花數&#xff0c;153是一個3位數&#xff0c;并且153 13 53 33。 輸入描述 第一行輸入一個整數n&#xff0c;表示一個n位的正整數。n在3到7之間&#x…

物聯網同RFID功能形態 使用場景的替代品

在物聯網&#xff08;IoT&#xff09;和自動識別技術領域&#xff0c;除了RFID標簽外&#xff0c;還有一些其他技術產品可以在形態和大小上與RFID標簽相似&#xff0c;同時提供類似或更強大的功能。以下是幾種能夠替代RFID標簽的產品&#xff1a; 一、NFC標簽 NFC&#xff08;…

03.03 QT

1.在注冊登錄的練習里面&#xff0c;追加一個QListwidget 項目列表 要求:點擊注冊之后&#xff0c;將賬號顯示到 1istwidget上面去 以及&#xff0c;在listwidget中雙擊某個賬號的時候&#xff0c;將該賬號刪除 Widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWi…