每日一題(小白)回溯篇4

深度優先搜索題:找到最長的路徑,計算這樣的路徑有多少條(使用回溯

分析題意可以得知,每次向前后左右走一步,直至走完16步就算一條走通路徑。要求條件是不能超出4*4的范圍,不能重復之前的路徑。

①控制條件,若下一步已經被占有則返回

②控制條件,若下一步越界則返回

③控制條件,若下一步已到達末尾則返回,并且統計值+1

④若不在上述三個條件中則繼續進行下一個點前后左右的試探,進去時需要將標記值設為1,出來后標記值為0

⑤主函數調用,將16個點每個都作為起點,調用回溯函數算出全部統計值

⑥輸出統計值

代碼如下👇

	static int[] dx= {0,1,0,-1};static int[] dy= {1,0,-1,0};static int[][] arr=new int[4][4];static int count=0;public static void main(String[] args) {for (int i = 0; i < 4; i++) {for (int j = 0; j < 4; j++) {snack(i, j, 0);}}System.out.println(count);}//玩具蛇public static void snack(int x,int y,int len) {if (x>=4 || x<0 || y>=4 || y<0) {//先看有沒有越界return;}if (arr[x][y]==1) {//下一步已經被占有return;}if (len>=15) {//走到結尾count ++;return;}for (int i = 0; i < 4; i++) {arr[x][y]=1;snack(x+dx[i], y+dy[i], len+1);arr[x][y]=0;//回溯精精髓}}

運行結果

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

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

相關文章

【數據分享】2000—2020年我國250m精度灌溉農田柵格數據(免費獲取)

灌溉農田是指通過水利灌溉為農作物提供必要水分&#xff0c;以維持其生長需求的農田類型。灌溉農田占全球農田的20%&#xff0c;占全球糧食產量的40%。但其消耗了60%-70%的淡水和80%-90%的消耗性用水量。中國是世界上灌溉面積最大的農業大國&#xff0c;但中國僅占世界上8%的農…

MySQL-SQL-DML語句、INSER添加數據、UPDATE更新數據、DELETE刪除數據

一. DML 1. DML的英文全稱是Data Manipulation Language(數據操作語言)&#xff0c;用來對數據庫中表的數據記錄進行增、刪、改操作。 2. 添加數據(INSERT)&#xff1b;修改數據(UPDATE)&#xff1b;刪除數據(DELETE) 二. DML-INSER添加數據 -- DML insert -- 指定字段添加數…

使用SymPy求解矩陣微分方程

引言 在數學、物理、工程等領域,微分方程常常被用來描述系統的變化和動態過程。對于多變量系統或者多方程系統,矩陣微分方程是非常常見的,它可以用來描述如電路、控制系統、振動系統等復雜的動態行為。今天,我們將通過Python 中的 SymPy 庫來求解矩陣微分方程,幫助大家輕…

Sentinel實戰(五)、系統保護規則、限流后統一處理及sentinel持久化配置

Spring Cloud Alibaba-Sentinel實戰(五)、系統保護規則、限流后統一處理及sentinel持久化配置 一、系統保護規則一)、系統規則支持的模式二)、新增系統規則界面三)、demo測試二、限流后統一處理實操demo三、sentinel持久化配一、系統保護規則 系統保護規則是從應用級別的…

【百日精通JAVA | SQL篇 | 第四篇】約束

SQL這一塊沒什么難度&#xff0c;主要是一個熟練度&#xff0c;稍微上點難度的地方&#xff0c;其實在于查&#xff0c;比較復雜&#xff0c;涉及到很多問題。 指定列插入 使用指定列插入的時候&#xff0c;未被指定的列使用默認值進行存儲&#xff0c;默認值為空。 默認值設置…

http協議版本的區別 -- 2和3

目錄 http2和http3的區別 傳輸層協議 QUIC協議 介紹 連接建立與握手 建立安全連接的過程 RTT 建連為什么需要兩個過程 原因 解決 QUIC協議的1-RTT 建連 必要性 連接過程 第一次握手(Client Hello) 版本號 key_share 其他 第二次握手 介紹 Server Hello 身…

21 天 Python 計劃:MySQL 庫相關操作

文章目錄 前言一、系統數據庫1. information_schema2. performance_schema3. mysql4. test 二、創建數據庫1. 語法2. 數據庫命名規則 三、數據庫相關操作1. 查看數據庫2. 選擇數據庫3. 刪除數據庫4. 修改數據庫 總結 前言 Python是一種強大且易于學習的編程語言。通過這個21天的…

手撕LLM(二):從源碼出發,探索LoRA加載、推理全流程

接上回接著說&#xff0c;前面我們通過分析源碼&#xff0c;了解了大模型推理的詳細流程&#xff0c;包括提示詞從輸入&#xff0c;到對話模版包裝&#xff0c;到tokenID轉換&#xff0c;到Embedding詞向量轉換&#xff1b;通過大模型推理&#xff0c;再將大模型輸出進行最后一…

WPS宏開發手冊——常見問題

目錄 系列文章6、常見問題 系列文章 使用、工程、模塊介紹 JSA語法 JSA語法練習題 Excel常用Api Excel實戰 常見問題 附錄 6、常見問題 6.1、編輯完宏后會自動保存&#xff0c;下次打開文件會提醒是否啟用宏&#xff0c;點擊啟用會自動加載上次編輯的…

【Android安卓移動計算】實現項目一[模擬器啟動項目]

文章目錄 新建項目項目結構介紹說明程序自動生成&#xff1a;圖片和樣式文件夾&#xff1a;Training1\app\src\main\res\drawable布局文件文件夾&#xff1a;Training1\app\src\main\res\layoutJava文件夾&#xff1a;Training1\app\src\main\java\com\example\training1Androi…

快 速 冪

暴力肯定會超時 3^10 9^5 9*9^4 9*81^2 9*18^2^1 先對b判斷奇偶 偶數&#xff1a;對b/2,對a平方 奇數&#xff1a;先*a,再對a平方&#xff0c;b/2 取余注意&#xff1a;(3^10)%k( 9 * 18^2^1)%k(( 9%k )%k * (18^2^1)%k)%k

網絡釣魚攻擊的威脅和執法部門的作用(第二部分)

執法部門在打擊網絡釣魚中的作用 雖然網絡釣魚可能始于一封欺騙性的電子郵件或短信&#xff0c;但其后果可能遠遠超出個人收件箱的范圍&#xff0c;影響企業、經濟甚至國家安全。隨著網絡釣魚攻擊的規模和復雜性不斷增加&#xff0c;執法機構站在前線&#xff0c;努力預防、調…

Data_Socket和UDP_Socket

Data_Socket 和 UDP_Socket 是兩種不同類型的網絡套接字&#xff0c;它們用于不同的協議和應用場景。以下是它們的主要區別&#xff1a; 協議類型&#xff1a; UDP_Socket&#xff1a;使用的是 UDP&#xff08;User Datagram Protocol&#xff09; 協議&#xff0c;這是一種無連…

2025高頻面試算法總結篇【排序】

文章目錄 直接刷題鏈接直達把數組排成最小的數刪除有序數組中的重復項求兩個排序數組的中位數求一個循環遞增數組的最小值數組中的逆序對如何找到一個無序數組的中位數鏈表排序從一大段文本中找出TOP K 的高頻詞匯 直接刷題鏈接直達 把一個數組排成最大的數 劍指 Offer 45. 把…

模型壓縮技術從零到一

模型壓縮是深度學習中的重要技術&#xff0c;旨在減小模型尺寸和計算需求&#xff0c;特別適合在移動設備或嵌入式系統上部署。 要點 模型壓縮技術可以顯著減小模型尺寸和計算需求&#xff0c;適合資源受限設備。主要技術包括剪枝、量化、知識蒸餾、低秩分解和輕量級模型設計…

浮點數精度問題

目錄 ieee754標準解決方法 和c語言一樣&#xff0c;所有以ieee754標準的語言都有浮點數精度問題&#xff0c;js也有浮點數精度問題&#xff0c;并且因為是弱類型語言這個問題更嚴重&#xff0c;js的Number類型的數據都被視為浮點數 ieee754標準 js的數字類型就相當于c語言doub…

超大規模數據場景(思路)——面試高頻算法題目

目錄 用4KB內存尋找重復元素 從40個億中產生不存在的整數【位】 如果只讓用10MB空間存儲&#xff1f; 初次遍歷 二次遍歷 用2GB內存在20億個整數中查找出現次數最多的數【分塊】 從億萬個URL中查找問題【分塊 堆】 40億個非負整數中找出現兩次的數【位 不過多個位哈】 …

開源身份和訪問管理方案之keycloak(三)keycloak健康檢查(k8s)

文章目錄 開源身份和訪問管理方案之keycloak&#xff08;三&#xff09;keycloak健康檢查啟用運行狀況檢查 健康檢查使用Kubernetes下健康檢查Dockerfile 中 HEALTHCHECK 指令 健康檢查Docker HEALTHCHECK 和 Kubernetes 探針 開源身份和訪問管理方案之keycloak&#xff08;三&…

FATFS備忘

概述 FATFS文件系統可以掛載SD卡也可以掛載FLASH eMMC等設備 SD卡需要格式化為FAT32模式 塊大小默認即可 移植 SD卡 SD卡扇區大小是 512B SD卡 SDIO模式 可以直接在cubeMX里一鍵設置 先設置好SD卡的設置 這個是選擇支持中文 其余是默認 這個是檢測引腳可以留空 當SD卡插入拔出…

唯美社區源碼AM社區同款源碼

源碼介紹 唯美社區源碼AM社區同款源碼 后端修改application.properties文件內容為你的數據庫 前端修改/config/config.js文件內容為你的后端地址 這兩個文件里要修改的地方我已經用中文標注出來了 截圖 源碼免費下載 唯美社區源碼AM社區同款源碼