2013藍橋杯 九宮重排(雙BFS+HashMap)
問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若幹次移動,可以形成第二個圖所示的局面。
我們把第一個圖的局面記為:12345678.
把第二個圖的局面記為:123.46758
顯然是按從上到下,從左到右的順序記錄數字,空格記為句點。
本題目的任務是已知九宮的初態和終態,求最少經過多少步的移動可以到達。如果無論多少步都無法到達,則輸出-1。 輸入格式 輸入第一行包含九宮的初態,第二行包含九宮的終態。 輸出格式 輸出最少的步數,如果不存在方案,則輸出-1。 樣例輸入 12345678.
46758123. 樣例輸出 22
2013藍橋杯 九宮重排(雙BFS+HashMap)
相關推薦
2013藍橋杯 九宮重排(雙BFS+HashMap)
view clas eight wid btn 藍橋 efi 輸入 移動 九宮重排 時間限制:1.0s 內存限制:256.0MB 問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡
藍橋杯——九宮重排(八數碼問題)
#include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<algorithm> #include<cmat
藍橋杯——九宮重排、青蛙跳杯子
快速 藍橋 一行 har nod lose file 至少 發現 1.歷屆試題 九宮重排 時間限制:1.0s 內存限制:256.0MB 問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰
第五屆藍橋杯大賽個人賽(軟件類)省賽真題
turn 滿足 方法 省賽 left n-1 遊戲 藍橋杯 0ms 第一題 輸入一個字符串,求它包含多少個單詞。單詞間以一個或者多個空格分開。第一個單詞前,最後一個單詞後也可能有0到多個空格。比如:" abc xyz" 包含兩個單詞,"ab c xyz
2017藍橋杯興趣小組(C++/C組)----C語言解題思路和程式碼
2017藍橋杯興趣小組(C++/C組) ------C語言解題思路和程式碼 **原題:興趣小組 為豐富同學們的業餘文化生活,某高校學生會創辦了3個興趣小組 (以下稱A組,B組,C組)。 每個小組的學生名單分別在【A.txt】,【B.txt】和【C.txt】中。 每個檔案中儲存的是
藍橋杯 安慰奶牛(最小生成樹)
5 <= N <= 10000,N-1 <= P <= 100000,0 <= Lj <= 1000,1 <= Ci <= 1,000。題目分析: 題目要求我們求得最短用時,其實就是在告訴我們每條路徑的權值需要重新處理一下,因為每經過一個節點,就必須要在此
藍橋杯-合併石子 (經典動態規劃)
題目大意:假設有一排n堆石子,每堆石子有若干個小石子,要求將它們合併成一堆,需要花費的最小代價。而且每次合併只能將相鄰的兩堆合併,合併的代價是兩堆石子的重量之和。題目分析:因為不能合併有間隔的石子堆,所以這不是一道哈夫曼樹的例子(哈夫曼樹:利用貪心演算法,每次合併重量最小的兩
2016第七屆藍橋杯-四平方和(理論不超時)
四平方和 四平方和定理,又稱為拉格朗日定理: 每個正整數都可以表示為至多4個正整數的平方和。 如果把0包括進去,就正好可以表示為4個數的平方和。 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 +
2017藍橋杯興趣小組(C++C組)
原題:興趣小組為豐富同學們的業餘文化生活,某高校學生會創辦了3個興趣小組(以下稱A組,B組,C組)。每個小組的學生名單分別在【A.txt】,【B.txt】和【C.txt】中。每個檔案中儲存的是學生的學號。由於工作需要,我們現在想知道: 既參加了A組,又參加了B組,但是沒
藍橋杯之帶分數(全排列+暴力)
ont sam 方式 一次 urn nbsp desc 一個 藍橋 Description 100 可以表示為帶分數的形式:100 = 3 + 69258 / 714。 還可以表示為:100 = 82 + 3546 / 197。 註意特征:帶分數中,數字1~9
藍橋杯 歷屆試題 九宮重排 (bfs+康託展開去重優化)
Description 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從
藍橋杯 歷屆試題 九宮重排 (八數碼問題--康託展開去重 + bfs搜尋)
題意: 簡單的八數碼問題: 給你兩個狀態 求最少步數。 可以把點變成9: 這樣,9個數都不一樣,相當於是階乘的排列。 直接用bfs 搜尋 康託展開去重即可。 #include <cstdio> #include <cstring> #include
藍橋杯 歷屆試題 九宮重排(bfs)
問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從
2013 藍橋杯校內選拔賽 java本科B組(題目+答案)
一、標題:正則表示 正則表示式表示了串的某種規則或規律。恰當地使用正則表示式,可以使得程式碼簡潔、事半功倍。java的很多API都支援正則表示式作為引數。其中的String.split就是這樣。 看下面的程式碼,其意圖為把一個或多個空格或逗號、句號分開的單詞
響應式布局之浮動聖杯布局(雙飛翼布局)—-自適應寬度布局
由於 部分 gin asi 禁用 代碼 寬度 sof cin 前端開發中自適應布局在實際應用中越來越普遍,特別是隨著更多高級瀏覽器的出現html5和css3得到了更好的應用。 聖杯布局有個好處,完全符合前端開發中漸進增強的理念,由於瀏覽器解析是從DOM的上至下,這樣聖杯布局
adv147(藍橋杯) 學霸的迷宮 bfs
pop air fin pair 前端 提前 cal 路徑 emp 問題描述 學霸搶走了大家的作業,班長為了幫同學們找回作業,決定去找學霸決鬥。但學霸為了不要別人打擾,住在一個城堡裏,城堡外面是一個二維的格子迷宮,要進城堡必須得先通過迷宮。因為班長還有妹子要陪,磨刀不
藍橋杯 - 數字排列(今有7對數字) - [DFS]
eof ace 排列 int bsp include space 開頭 說明 今有7對數字:兩個1,兩個2,兩個3,...兩個7,把它們排成一行。要求,兩個1間有1個其它數字,兩個2間有2個其它數字,以此類推,兩個7之間有7個其它數字。如下就是一個符合要求的排列: 1712
藍橋杯-最短路 (SPFA算法學習)
can ios AC 定義 頂點 不能 最短距離 尾指針 內容 SPFA算法主要用來解決存在負邊權的單源最短路情況(但不能有負環!!!)一個簡單的方法判斷是否有沒有負環可以通過判斷是否有一個節點是否頻繁進出隊列。 以下內容轉自https://blog.csdn.net/
Fire! (雙bfs+預處理)
while posit pla 預處理 pie 上下左右 return turn ron 題目鏈接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show
平方十位數——第八屆藍橋杯JavaB組(國賽)第一題
返回 枚舉 args 第一題 AI 變量 ++ 10個 tro 原創 標題:平方十位數 由0~9這10個數字不重復、不遺漏,可以組成很多10位數字。這其中也有很多恰好是平方數(是某個數的平方)。 比如:1026753849,就是其中最小的一個平方數。 請你找出其中最大的一