原创 用數組模擬鏈表實現鄰接表的妙用

圖例 代碼 #include<bits/stdc++.h> using namespace std; //Head 與 next 數組存儲的是ver數組的下標,0表示指向空 //ver 數組存儲的是每條邊的終點 //使用數組實現

原创 XMU JAVA第二次實驗報告

XMU JAVA第二次實驗報告 最大子方陣 題目: 給定一個由0,1組成的n*n方陣(n在運行時提醒用戶輸入),判斷其中由全1組成的最大子方陣的左上角位置和階數。例如用戶輸入n爲5,隨機產生的方陣如下: 程序的輸出爲: 最大子方

原创 XMU JAVA第一次實驗報告

JAVA實驗報告1 一、數字金字塔 題目 輸入一個正整數n(n<16),輸出一個如圖的數字金字塔(下圖是當n=7的輸出)。不考慮輸入錯誤的情形。 要求使用Scanner作爲輸入,System.out.print作爲輸出。 思路

原创 算法實踐:公主的攻擊範圍

公主的攻擊範圍 描述 塞爾達公主瘦弱的身體裏面蘊含着不可思議的神聖力量,這個力量從公主所在的位置釋放,可以逐層擴散到加農污穢掌控的區域。 給定一個N行M列的區域,代號爲1的區域是公主能力釋放的初始區,代號爲0的區域表示需要潔淨的區

原创 算法實踐:滾石柱

滾石柱 描述 迷宮是一個N行M列的矩陣,每個位置可能是硬地(用”.”表示)、易碎地面(用”E”表示)、禁地(用”#”表示)、起點(用”X”表示)或終點(用”O”表示)。 在每一步操作中,可以按上下左右四個鍵之一。 按下按鍵之後

原创 算法設計:電路維修

電路維修 描述 每個格點都是電線的接點,每個格子都包含一個電子元件。 電子元件的主要部分是一個可旋轉的、連接一條對角線上的兩個接點的短電纜。 在旋轉之後,它就可以連接另一條對角線的兩個接點。 電路板左上角的接點接入直流電源,右下

原创 Linux 計算器程序

計算器程序 題目要求 使用圖形化工具(IDE 或者 vscode, Atom, Sublime 等)編寫一個計算器程序(calc),以 expr 應用爲例,實現以下功能: 能獲得命令行參數個數和每一個參數的內容,即計算的數和操作

原创 算法實踐:leetcode55 跳躍遊戲

leetcode 55 跳躍遊戲 描述 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 樣例 輸入: [2,3,1,1,4] 輸出: tru

原创 算法實踐:leetcode45 跳躍遊戲II

跳躍遊戲II 描述 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達數組的最後一個位置。 樣例 輸入: [2,3,1,1,4] 輸出: 2 解

原创 算法實踐:Bokoblin的巡邏範圍

Bokoblin的巡邏範圍 描述 有一個mm行和nn列的方陣區域,橫縱座標範圍分別是0∼m−1和0∼n−1。 一隻紅色的波克布林從座標0,0的格子開始巡邏,每一次只能向左,右,上,下四個方向移動一格。 但是不能進入行座標和列座標的

原创 算法設計:滑塊拼圖

滑塊拼圖 描述 問題變爲判定從初始局 5 2 8 1 3 0 4 6 7 變爲目標局 5 2 8 1 3 7 4 6 0 是否有解的。0代表空格 輸入 2個3×3的數字矩陣,一共6行。 每行是3個數字。 前三行代表初始局,後三行代

原创 算法實踐:加農的入侵

加農的入侵 描述 輸入 * 第一行: 四個由空格隔開的整數: X, Y, Mx, My * 第2到第Y+1行:每行包含一個由X個字符(".“表示乾淨區域,而”*"表示障礙物。)構成的字符串,共同描繪了草地的完整地圖。 (1≤X,

原创 算法實踐:武士風度的牛

武士風度的牛 描述 這頭神奇的牛像其它牛一樣喜歡吃草,給你一張地圖,上面標註了The Knight的開始位置,樹、灌木、石頭以及其它障礙的位置,除此之外還有一捆草。現在你的任務是,確定The Knight要想吃到草,至少需要跳多少

原创 石材切割------動態規劃

石材切割------動態規劃 問題描述 給定一個最大的總切割目標石塊,再給定一系列我們需要的樣板石塊。尋找切割方法使得我們從目標石塊上切割出的所需樣板石塊的面積和最大,即對目標石塊的利用率最高。限制切割爲一刀切,即一次切割必須把一

原创 算法實踐:leetcode123 買股票的最佳時機

買股票的最佳時機 描述 給定一個數組,它的第 i 個元素是一支給定的股票在第 i 天的價格。 設計一個算法來計算你所能獲取的最大利潤。你最多可以完成 兩筆 交易。 注意: 你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票